home *** CD-ROM | disk | FTP | other *** search
/ Professional Soft Collection 1.02 / Professional Soft Collection 1.02.iso / test.all / cyrix / testvecs < prev    next >
Encoding:
Text File  |  1991-03-04  |  94.1 KB  |  3,709 lines

  1. !
  2. ! Absolute value test vectors:
  3. !
  4. 2A  ALL  1  0  OK  1
  5. 2A  ALL  -1  0  OK  1
  6. 2A  ALL  Ed1  0  OK  Ed1
  7. 2A  ALL  -Ed1  0  OK  Ed1
  8. 2A  ALL  0i1  0  OK  0i1
  9. 2A  ALL  -0i1  0  OK  0i1
  10. 2A  ALL  Hm1  0  OK  Hm1
  11. 2A  ALL  -Hm1  0  OK  Hm1
  12. 2A  ALL  Hd1  0  OK  Hd1
  13. 2A  ALL  -Hd1  0  OK  Hd1
  14. 2A  ALL  H  0  OK  H
  15. 2A  ALL  -H  0  OK  H
  16. 2A  ALL  0  0  OK  0
  17. 2A  ALL  -0  0  OK  0
  18. ! NaNs -- FPTEST checks that results
  19. ! are NaNs with no exceptions.
  20. 2A  ALL  Q  0  OK  Q
  21. 2A  ALL  -Q  0  OK  Q
  22. 2A  ALL  S  0  OK  S
  23. 2A  ALL  -S  0  OK  S
  24. ! First some easy integer cases.
  25. 2+  ALL  1  1  OK  2
  26. 2+  ALL  1  2  OK  3
  27. 2+  ALL  2  1  OK  3
  28. 2+  ALL  2  2  OK  4
  29. 2+  =0>  2  -2  OK  0
  30. 2+  <  2  -2  OK  -0
  31. 2+  =0>  5  -5  OK  0
  32. 2+  <  5  -5  OK  -0
  33. 2+  ALL  1  7  OK  8
  34. 2+  ALL  5  -1  OK  4
  35. 2+  ALL  2  -5  OK  -3
  36. 2+  ALL  5  -0  OK  5
  37. 2+  ALL  5  +0  OK  5
  38. ! Infinity vs Infinity.
  39. 2+  ALL  H  H  OK  H  ok - affine sum
  40. 2+  ALL  -H  -H  OK  -H
  41. 2+  ALL  -H  H  i  Q  different signs
  42. 2+  ALL  H  -H  i  Q
  43. ! Infinity vs huge.
  44. 2+  ALL  H  Hm1  OK  H
  45. 2+  ALL  H  -Hm1  OK  H
  46. 2+  ALL  -H  Hm1  OK  -H
  47. 2+  ALL  -H  -Hm1  OK  -H
  48. 2+  ALL  Hm1  H  OK  H
  49. 2+  ALL  Hm1  -H  OK  -H
  50. 2+  ALL  -Hm1  H  OK  H
  51. 2+  ALL  -Hm1  -H  OK  -H
  52. ! Infinity vs 0.
  53. 2+  ALL  H  0  OK  H
  54. 2+  ALL  H  -0  OK  H
  55. 2+  ALL  -H  0  OK  -H
  56. 2+  ALL  -H  -0  OK  -H
  57. 2+  ALL  0  H  OK  H
  58. 2+  ALL  -0  H  OK  H
  59. 2+  ALL  0  -H  OK  -H
  60. 2+  ALL  -0  -H  OK  -H
  61. ! Infinity vs denormalized.
  62. 2+  ALL  H  Ed1  OK  H
  63. 2+  ALL  -H  Ed1  OK  -H
  64. 2+  ALL  H  -Ed1  OK  H
  65. 2+  ALL  -H  -Ed1  OK  -H
  66. 2+  ALL  0i3  H  OK  H
  67. 2+  ALL  0i3  -H  OK  -H
  68. 2+  ALL  -0i3  H  OK  H
  69. 2+  ALL  -0i3  -H  OK  -H
  70. ! Zero vs finite -- watch that sign of 0
  71. ! is meaningless.
  72. 2+  ALL  0  Hm1  OK  Hm1
  73. 2+  ALL  -0  Hm1  OK  Hm1
  74. 2+  ALL  -Hm1  0  OK  -Hm1
  75. 2+  ALL  -Hm1  -0  OK  -Hm1
  76. 2+  ALL  1  -0  OK  1
  77. 2+  ALL  -1  -0  OK  -1
  78. 2+  ALL  0  1  OK  1
  79. 2+  ALL  -0  -1  OK  -1
  80. ! Zero vs denormalized -- underflows.
  81. 2+  ALL  0  Ed1  OK  Ed1
  82. 2+  ALL  -0  Ed1  OK  Ed1
  83. 2+  ALL  0  -Ed1  OK  -Ed1
  84. 2+  ALL  -0  -Ed1  OK  -Ed1
  85. 2+  ALL  0i3  0  OK  0i3
  86. 2+  ALL  0i3  -0  OK  0i3
  87. 2+  ALL  -0i3  0  OK  -0i3
  88. 2+  ALL  -0i3  -0  OK  -0i3
  89. ! Zero vs tiny -- just in case.
  90. 2+  ALL  -0  -E  OK  -E
  91. 2+  ALL  E  0  OK  E
  92. 2+  ALL  0  -E  OK  -E
  93. 2+  ALL  -E  0  OK  -E
  94. ! Zero vs Zero -- watch signs and
  95. ! rounding modes.
  96. 2+  =0>  0  -0  OK  0
  97. 2+  =0>  -0  0  OK  0
  98. 2+  <  0  -0  OK  -0
  99. 2+  <  -0  0  OK  -0
  100. 2+  ALL  0  0  OK  0
  101. 2+  ALL  -0  -0  OK  -0
  102. ! Double a number -- may overflow so
  103. ! watch rounding mode.
  104. 2+  =>  Hm1  Hm1  xo  H
  105. 2+  0<  Hm1  Hm1  xo  Hd1
  106. 2+  =<  -Hm1  -Hm1  xo  -H
  107. 2+  0>  -Hm1  -Hm1  xo  -Hd1
  108. 2+  ALL  Hm1d2  Hm1d2  OK  Hd2
  109. 2+  ALL  -Hm1d2  -Hm1d2  OK  -Hd2
  110. 2+  =>  Hd2  Hd2  xo  H
  111. 2+  0<  Hd2  Hd2  xo  Hd1
  112. 2+  =<  -Hd2  -Hd2  xo  -H
  113. 2+  0>  -Hd2  -Hd2  xo  -Hd1
  114. ! Double an innocent number.
  115. 2+  ALL  1  1  OK  2
  116. 2+  ALL  3  3  OK  6
  117. 2+  ALL  E  E  OK  Ep1
  118. 2+  ALL  Hm2  Hm2  OK  Hm1
  119. ! Double a tiny number -- may underflow.
  120. 2+  ALL  Ed1  Ed1  OK  Ep1d2
  121. 2+  ALL  -Ed1  -Ed1  OK  -Ep1d2
  122. 2+  ALL  0i4  0i4  OK  0i8
  123. 2+  ALL  -0i4  -0i4  OK  -0i8
  124. 2+  ALL  0i1  0i1  OK  0i2
  125. 2+  ALL  -0i1  -0i1  OK  -0i2
  126. ! Cancellation to 0 -- to plus 0.
  127. 2+  =0>  Hm1  -Hm1  OK  0
  128. 2+  =0>  -Hm1d2  Hm1d2  OK  0
  129. 2+  =0>  1  -1  OK  0
  130. 2+  =0>  -3  3  OK  0
  131. 2+  =0>  E  -E  OK  0
  132. 2+  =0>  -E  E  OK  0
  133. 2+  =0>  Ed4  -Ed4  OK  0
  134. 2+  =0>  -Ed1  Ed1  OK  0  no underflow
  135. 2+  =0>  0i1  -0i1  OK  0
  136. 2+  =0>  -0i1  0i1  OK  0
  137. 2+  =0>  Hd1  -Hd1 OK  0
  138. ! Cancellation to 0 -- to minus 0.
  139. 2+  <  Hm1  -Hm1  OK  -0
  140. 2+  <  -Hm1d2  Hm1d2  OK  -0
  141. 2+  <  1  -1  OK  -0
  142. 2+  <  -3  3  OK  -0
  143. 2+  <  E  -E  OK  -0
  144. 2+  <  -E  E  OK  -0
  145. 2+  <  Ed4  -Ed4  OK  -0
  146. 2+  <  -Ed1  Ed1  OK  -0  no underflow
  147. 2+  <  0i1  -0i1  OK  -0
  148. 2+  <  -0i1  0i1  OK  -0
  149. 2+  <  Hd1  -Hd1 OK  -0
  150. ! Cancel forcing normalization of LSB
  151. ! (no rounding errors).  Difference is in
  152. ! last place of larger number.
  153. ! Medium numbers...
  154. 2+  ALL  1i1  -1  OK  1u1
  155. 2+  ALL  -1i1  1  OK  -1u1
  156. 2+  ALL  1i1  -1i2  OK  -1u1
  157. 2+  ALL  -1i1  1i2  OK  1u1
  158. 2+  ALL  2  -2i1  OK  -2u1
  159. 2+  ALL  -2  2i1  OK  2u1
  160. 2+  ALL  2i4  -2i3  OK  2u1
  161. 2+  ALL  -2i4  2i3  OK  -2u1
  162. 2+  ALL  4d1  -4d2  OK  3u1
  163. 2+  ALL  -4d1  4d2  OK  -3u1
  164. 2+  ALL  2d4  -2d3  OK  -1u1
  165. 2+  ALL  -2d4  2d3  OK  1u1
  166. ! Huge numbers...
  167. 2+  ALL  Hm1i1  -Hm1  OK  Hm1u1
  168. 2+  ALL  -Hm1i1  Hm1  OK  -Hm1u1
  169. 2+  ALL  Hm1i1  -Hm1i2  OK  -Hm1u1
  170. 2+  ALL  -Hm1i1  Hm1i2  OK  Hm1u1
  171. 2+  ALL  Hm2  -Hm2i1  OK  -Hm2u1
  172. 2+  ALL  -Hm2  Hm2i1  OK  Hm2u1
  173. 2+  ALL  Hm2i4  -Hm2i3  OK  Hm2u1
  174. 2+  ALL  -Hm2i4  Hm2i3  OK  -Hm2u1
  175. 2+  ALL  Hm2d1  -Hm2d2  OK  Hm3u1
  176. 2+  ALL  -Hm2d1  Hm2d2  OK  -Hm3u1
  177. 2+  ALL  -Hd2  Hd1  OK  Hd1u1
  178. 2+  ALL  Hd2  -Hd1  OK  -Hd1u1
  179. ! Tiny numbers...
  180. 2+  ALL  -Ei1  E  OK  -Eu1
  181. 2+  ALL  Ei1  -E  OK  Eu1
  182. 2+  ALL  -Ed1  E  OK  Eu1
  183. 2+  ALL  Ed1  -E  OK  -Eu1
  184. 2+  ALL  Ei1  -Ei2  OK  -Eu1
  185. 2+  ALL  -Ei1  Ei2  OK  Eu1
  186. 2+  ALL  Ed1  -Ed2  OK  Eu1
  187. 2+  ALL  -Ed1  Ed2  OK  -Eu1
  188. 2+  ALL  Ed3  -Ed2  OK  -Eu1
  189. 2+  ALL  -Ed3  Ed2  OK  Eu1
  190. 2+  ALL  0i2  -0i1  OK  Eu1
  191. 2+  ALL  -0i2  0i1  OK  -Eu1
  192. 2+  ALL  0i3  -0i2  OK  Eu1
  193. 2+  ALL  -0i3  0i2  OK  -Eu1
  194. ! Normalize from round bit -- set up
  195. ! tests so that operands have
  196. ! exponents differing by 1 unit.
  197. ! Medium numbers...
  198. 2+  ALL  2  -2d1  OK  1u1
  199. 2+  ALL  -2  2d1  OK  -1u1
  200. 2+  ALL  -2d1  2  OK  1u1
  201. 2+  ALL  2d1  -2  OK  -1u1
  202. 2+  ALL  4i1  -4d1  OK  3u3
  203. 2+  ALL  -4i1  4d1  OK  -3u3
  204. 2+  ALL  4d1  -4i2  OK  -3u5
  205. 2+  ALL  -4d1  4i2  OK  3u5
  206. 2+  ALL  2i1  -1i1  OK  1i1
  207. 2+  ALL  -2i1  1i1  OK  -1i1
  208. 2+  ALL  2i2  -1i1  OK  1i3
  209. 2+  ALL  -2i2  1i1  OK  -1i3
  210. 2+  ALL  2i2  -1i3  OK  1i1
  211. 2+  ALL  -2i2  1i3  OK  -1i1
  212. ! Huge numbers...
  213. 2+  ALL  Hm2  -Hm2d1  OK  Hm3u1
  214. 2+  ALL  -Hm2  Hm2d1  OK  -Hm3u1
  215. 2+  ALL  -Hm1d1  Hm1  OK  Hm2u1
  216. 2+  ALL  Hm1d1  -Hm1  OK  -Hm2u1
  217. 2+  ALL  Hm4i1  -Hm4d1  OK  Hm5u3
  218. 2+  ALL  -Hm4i1  Hm4d1  OK  -Hm5u3
  219. 2+  ALL  Hm2d1  -Hm2i2  OK  -Hm3u5
  220. 2+  ALL  -Hm2d1  Hm2i2  OK  Hm3u5
  221. 2+  ALL  Hm2i1  -Hm1i1  OK  -Hm2i1
  222. 2+  ALL  -Hm2i1  Hm1i1  OK  Hm2i1
  223. 2+  ALL  Hm1i2  -Hm2i1  OK  Hm2i3
  224. 2+  ALL  -Hm1i2  Hm2i1  OK  -Hm2i3
  225. 2+  ALL  Hm2i2  -Hm3i3  OK  Hm3i1
  226. 2+  ALL  -Hm2i2  Hm3i3  OK  -Hm3i1
  227. ! Tiny numbers...
  228. 2+  ALL  Ep1  -Ep1d1  OK  Eu1
  229. 2+  ALL  -Ep1  Ep1d1  OK  -Eu1
  230. 2+  ALL  -Ep1d1  Ep1  OK  Eu1
  231. 2+  ALL  Ep1d1  -Ep1  OK  -Eu1
  232. 2+  ALL  Ep1i1  -Ep1d1  OK  Eu3
  233. 2+  ALL  -Ep1i1  Ep1d1  OK  -Eu3
  234. 2+  ALL  Ep2  -Ep2d1  OK  Eu2
  235. 2+  ALL  -Ep2  Ep2d1  OK  -Eu2
  236. 2+  ALL  -Ep2d1  Ep2  OK  Eu2
  237. 2+  ALL  Ep2d1  -Ep2  OK  -Eu2
  238. 2+  ALL  Ep2i1  -Ep2d1  OK  Eu6
  239. 2+  ALL  -Ep2i1  Ep2d1  OK  -Eu6
  240. 2+  ALL  Ep1d1  -Ep1i2  OK  -Eu5
  241. 2+  ALL  -Ep1d1  Ep1i2  OK  Eu5
  242. 2+  ALL  Ep1d1  -Ep1i4  OK  -Eu9
  243. 2+  ALL  -Ep1d1  Ep1i4  OK  Eu9
  244. 2+  ALL  Ep1i1  -Ei1  OK  Ei1
  245. 2+  ALL  -Ep1i1  Ei1  OK  -Ei1
  246. 2+  ALL  Ep1i2  -Ei1  OK  Ei3
  247. 2+  ALL  -Ep1i2  Ei1  OK  -Ei3
  248. 2+  ALL  Ep2i2  -Ep1i3  OK  Ep1i1
  249. 2+  ALL  -Ep2i2  Ep1i3  OK  -Ep1i1
  250. ! Add magnitude:
  251. ! cases where one operand is off in sticky --
  252. ! rounding perhaps to an overflow.
  253. ! Huge vs medium.
  254. 2+  =0<  Hm1  1  x  Hm1
  255. 2+  >  Hm1  1  x  Hm1i1
  256. 2+  =0>  -Hm1  -1  x  -Hm1
  257. 2+  <  -Hm1  -1  x  -Hm1i1
  258. 2+  =0<  Hm1d1  1  x  Hm1d1
  259. 2+  >  Hm1d1  1  x  Hm1
  260. 2+  =0>  -Hm1d1  -1  x  -Hm1d1
  261. 2+  <  -Hm1d1  -1  x  -Hm1
  262. 2+  =0<  Hd1  1  x  Hd1
  263. 2+  >  Hd1  1  xo  H  signal overflow
  264. 2+  =0>  -Hd1  -1  x  -Hd1
  265. 2+  <  -Hd1  -1  xo  -H
  266. 2+  =0<  Hd2  1  x  Hd2
  267. 2+  >  Hd2  1  x  Hd1
  268. 2+  =0>  -Hd2  -1  x  -Hd2
  269. 2+  <  -Hd2  -1  x  -Hd1
  270. ! Huge vs denormal.
  271. 2+  =0<  0i1  Hm1  x  Hm1
  272. 2+  >  0i1  Hm1  x  Hm1i1
  273. 2+  =0>  -0i1  -Hm1  x  -Hm1
  274. 2+  <  -0i1  -Hm1  x  -Hm1i1
  275. 2+  =0<  0i1  Hm1d1  x  Hm1d1
  276. 2+  >  0i1  Hm1d1  x  Hm1
  277. 2+  =0>  -0i1  -Hm1d1  x  -Hm1d1
  278. 2+  <  -0i1  -Hm1d1  x  -Hm1
  279. 2+  =0<  0i1  Hd1  x  Hd1
  280. 2+  >  0i1  Hd1  xo  H  signal overflow
  281. 2+  =0>  -0i1  -Hd1  x  -Hd1
  282. 2+  <  -0i1  -Hd1  xo  -H
  283. 2+  =0<  0i1  Hd2  x  Hd2
  284. 2+  >  0i1  Hd2  x  Hd1
  285. 2+  =0>  -0i1  -Hd2  x  -Hd2
  286. 2+  <  -0i1  -Hd2  x  -Hd1
  287. ! Medium vs denormal.
  288. 2+  =0<  0i1  1  x  1
  289. 2+  >  0i1  1  x  1i1
  290. 2+  =0>  -0i1  -1  x  -1
  291. 2+  <  -0i1  -1  x  -1i1
  292. 2+  =0<  0i1  1d1  x  1d1
  293. 2+  >  0i1  1d1  x  1
  294. 2+  =0>  -0i1  -1d1  x  -1d1
  295. 2+  <  -0i1  -1d1  x  -1
  296. 2+  =0<  0i1  2d1  x  2d1
  297. 2+  >  0i1  2d1  x  2
  298. 2+  =0>  -0i1  -2d1  x  -2d1
  299. 2+  <  -0i1  -2d1  x  -2
  300. 2+  =0<  0i1  2d2  x  2d2
  301. 2+  >  0i1  2d2  x  2d1
  302. 2+  =0>  -0i1  -2d2  x  -2d2
  303. 2+  <  -0i1  -2d2  x  -2d1
  304. !
  305. ! Magnitude subtract when an operand is
  306. ! in the sticky bit.  The interesting cases
  307. ! will arise when directed rounding
  308. ! forces a nonzero cancellation.
  309. ! Huge and medium.
  310. 2+  =>  Hm1  -1  x  Hm1
  311. 2+  0<  Hm1  -1  x  Hm1d1
  312. 2+  =<  -Hm1  1  x  -Hm1
  313. 2+  0>  -Hm1  1  x  -Hm1d1
  314. 2+  =>  Hm1d1  -1  x  Hm1d1
  315. 2+  0<  Hm1d1  -1  x  Hm1d2
  316. 2+  =<  -Hm1d1  1  x  -Hm1d1
  317. 2+  0>  -Hm1d1  1  x  -Hm1d2
  318. 2+  =>  Hd1  -1  x  Hd1
  319. 2+  0<  Hd1  -1  x  Hd2
  320. 2+  =<  -Hd1  1  x  -Hd1
  321. 2+  0>  -Hd1  1  x  -Hd2
  322. 2+  =>  Hd2  -1  x  Hd2
  323. 2+  0<  Hd2  -1  x  Hd3
  324. 2+  =<  -Hd2  1  x  -Hd2
  325. 2+  0>  -Hd2  1  x  -Hd3
  326. ! Huge and tiny.
  327. 2+  =>  Hd1  -0i1  x  Hd1
  328. 2+  0<  Hd1  -0i1  x  Hd2
  329. 2+  =<  -Hd1  0i1  x  -Hd1
  330. 2+  0>  -Hd1  0i1  x  -Hd2
  331. 2+  =>  -0i3  Hm1  x  Hm1
  332. 2+  0<  -0i3  Hm1  x  Hm1d1
  333. 2+  =<  0i3  -Hm1  x  -Hm1
  334. 2+  0>  0i3  -Hm1  x  -Hm1d1
  335. ! Medium and tiny.
  336. 2+  =>  1d1  -0i1  x  1d1
  337. 2+  0<  1d1  -0i1  x  1d2
  338. 2+  =<  -2d1  0i1  x  -2d1
  339. 2+  0>  -2d1  0i1  x  -2d2
  340. 2+  =>  -0i3  3  x  3
  341. 2+  0<  -0i3  3  x  3d1
  342. 2+  =<  0i3  -5  x  -5
  343. 2+  0>  0i3  -5  x  -5d1
  344. !
  345. ! Add magnitude with difference in LSB
  346. ! so, except for denorms, round bit 
  347. ! is crucial.  Half-way cases arise.
  348. ! Medium cases.
  349. 2+  =0<  1i1  1  x  2
  350. 2+  >  1i1  1  x  2i1
  351. 2+  =0>  -1i1  -1  x  -2
  352. 2+  <  -1i1  -1  x  -2i1
  353. 2+  =0>  -2  -2i1  x  -4
  354. 2+  <  -2  -2i1  x  -4i1
  355. 2+  =0<  2  2i1  x  4
  356. 2+  >  2  2i1  x  4i1
  357. 2+  =>  1  1i3  x  2i2
  358. 2+  0<  1  1i3  x  2i1
  359. 2+  =<  -1  -1i3  x  -2i2
  360. 2+  0>  -1  -1i3  x  -2i1
  361. 2+  =<  -2i1  -2i2  x  -4i2
  362. 2+  0>  -2i1  -2i2  x  -4i1
  363. 2+  =>  2i1  2i2  x  4i2
  364. 2+  0<  2i1  2i2  x  4i1
  365. ! Huge cases.
  366. 2+  =>  Hd2  Hd1  xo  H
  367. 2+  0<  Hd2  Hd1  xo  Hd1
  368. 2+  =<  -Hd2  -Hd1  xo  -H
  369. 2+  0>  -Hd2  -Hd1  xo  -Hd1
  370. 2+  =>  Hm1d1  Hm1  xo  H
  371. 2+  0<  Hm1d1  Hm1  x  Hd1
  372. 2+  =<  -Hm1d1  -Hm1  xo  -H
  373. 2+  0>  -Hm1d1  -Hm1  x  -Hd1
  374. 2+  =>  Hm1i1  Hm1  xo  H
  375. 2+  0<  Hm1i1  Hm1  xo  Hd1
  376. 2+  =<  -Hm1i1  -Hm1  xo  -H
  377. 2+  0>  -Hm1i1  -Hm1  xo  -Hd1
  378. 2+  =0<  Hm2i1  Hm2  x  Hm1
  379. 2+  >  Hm2i1  Hm2  x  Hm1i1
  380. 2+  =0>  -Hm2i1  -Hm2  x  -Hm1
  381. 2+  <  -Hm2i1  -Hm2  x  -Hm1i1
  382. 2+  =0<  Hm1d2  Hm1d1  x  Hd2
  383. 2+  >  Hm1d2  Hm1d1  x  Hd1
  384. 2+  =0>  -Hm1d2  -Hm1d1  x  -Hd2
  385. 2+  <  -Hm1d2  -Hm1d1  x  -Hd1
  386. ! Check rounding.
  387. 2+  >  2  1u1  x  2i1
  388. 2+  =0<  2  1u1  x  2
  389. 2+  =>  2i1  1u1  x  2i2
  390. 2+  0<  2i1  1u1  x  2i1
  391. 2+  =>  4d1  1u1  x  4
  392. 2+  0<  4d1  1u1  x  4d1
  393. 2+  >  4d1  1u1d1 x  4
  394. 2+  0=<  4d1  1u1d1 x  4d1
  395. 2+  =<  -4d1  -1u1  x  -4
  396. 2+  0>  -4d1  -1u1  x  -4d1
  397. 2+  <  -4d1  -1u1d1 x  -4
  398. 2+  0=>  -4d1  -1u1d1 x  -4d1
  399. !NAN operands.
  400. 2+  ALL  Q  0  OK  Q
  401. 2+  ALL  Q  -0  OK  Q
  402. 2+  ALL  0  Q  OK  Q
  403. 2+  ALL  -0  Q  OK  Q
  404. 2+  ALL  Q  1  OK  Q
  405. 2+  ALL  Q  -1  OK  Q
  406. 2+  ALL  1  Q  OK  Q
  407. 2+  ALL  -1  Q  OK  Q
  408. 2+  ALL  Ed1  Q  OK  Q
  409. 2+  ALL  -Ed1 Q  OK  Q
  410. 2+  ALL  Q  Ed1  OK  Q
  411. 2+  ALL  Q  -Ed1 OK  Q
  412. 2+  ALL  Q  0i1  OK  Q
  413. 2+  ALL  Q  -0i1  OK  Q
  414. 2+  ALL  0i1  Q  OK  Q
  415. 2+  ALL  -0i1  Q  OK  Q
  416. 2+  ALL  Q  Hd1  OK  Q
  417. 2+  ALL  Q  -Hd1 OK  Q
  418. 2+  ALL  Hd1  Q  OK  Q
  419. 2+  ALL  -Hd1 Q  OK  Q
  420. 2+  ALL  Q  H  OK  Q
  421. 2+  ALL  Q  -H  OK  Q
  422. 2+  ALL  H  Q  OK  Q
  423. 2+  ALL  -H  Q  OK  Q
  424. 2+  ALL  Q  Q  OK  Q
  425. 2+  ALL  S  0  i  Q
  426. 2+  ALL  S  -0  i  Q
  427. 2+  ALL  0  S  i  Q
  428. 2+  ALL  -0  S  i  Q
  429. 2+  ALL  S  1  i  Q
  430. 2+  ALL  S  -1  i  Q
  431. 2+  ALL  1  S  i  Q
  432. 2+  ALL  -1  S  i  Q
  433. 2+  ALL  Ed1  S  i  Q
  434. 2+  ALL  -Ed1 S  i  Q
  435. 2+  ALL  S  Ed1  i  Q
  436. 2+  ALL  S  -Ed1 i  Q
  437. 2+  ALL  S  0i1  i  Q
  438. 2+  ALL  S  -0i1  i  Q
  439. 2+  ALL  0i1  S  i  Q
  440. 2+  ALL  -0i1  S  i  Q
  441. 2+  ALL  S  Hd1  i  Q
  442. 2+  ALL  S  -Hd1 i  Q
  443. 2+  ALL  Hd1  S  i  Q
  444. 2+  ALL  -Hd1 S  i  Q
  445. 2+  ALL  S  H  i  Q
  446. 2+  ALL  S  -H  i  Q
  447. 2+  ALL  H  S  i  Q
  448. 2+  ALL  -H  S  i  Q
  449. 2+  ALL  Q  S  i  Q
  450. 2+  ALL  S  Q  i  Q
  451. 2+  ALL  S  S  i  Q
  452. ! First some easy integer cases.
  453. 2C  ALL  1  1  OK  =
  454. 2C  ALL  1  2  OK  <
  455. 2C  ALL  2  1  OK  >
  456. 2C  ALL  2  2  OK  =
  457. 2C  ALL  2  -2  OK  >
  458. 2C  ALL  5  -5  OK  >
  459. 2C  ALL  1  7  OK  <
  460. 2C  ALL  5  -1  OK  >
  461. 2C  ALL  2  -5  OK  >
  462. 2C  ALL  5  -0  OK  >
  463. 2C  ALL  5  +0  OK  >
  464. ! Infinity vs Infinity.
  465. 2C  ALL  H  H  OK  =  always equal
  466. 2C  ALL  -H  -H  OK  =  always equal
  467. 2C  ALL  H  -H  OK  >
  468. 2C  ALL  -H  H  OK  <
  469. ! Infinity vs huge.
  470. 2C  ALL  H  Hm1  OK  >
  471. 2C  ALL  H  -Hm1  OK  >
  472. 2C  ALL  -H  Hm1  OK  <
  473. 2C  ALL  -H  -Hm1  OK  <
  474. 2C  ALL  H  Hd1  OK  >
  475. 2C  ALL  H  -Hd1  OK  >
  476. 2C  ALL  -H  Hd1  OK  <
  477. 2C  ALL  -H  -Hd1  OK  <
  478. 2C  ALL  Hm1  H  OK  <
  479. 2C  ALL  Hm1  -H  OK  >
  480. 2C  ALL  -Hm1  H  OK  <
  481. 2C  ALL  -Hm1  -H  OK  >
  482. ! Infinity vs 0.
  483. 2C  ALL  H  0  OK  >
  484. 2C  ALL  H  -0  OK  >
  485. 2C  ALL  -H  0  OK  <
  486. 2C  ALL  -H  -0  OK  <
  487. 2C  ALL  0  H  OK  <
  488. 2C  ALL  -0  H  OK  <
  489. 2C  ALL  0  -H  OK  >
  490. 2C  ALL  -0  -H  OK  >
  491. ! Infinity vs denormalized.
  492. 2C  ALL  H  Ed1  OK  >
  493. 2C  ALL  -H  Ed1  OK  <
  494. 2C  ALL  H  -Ed1  OK  >
  495. 2C  ALL  -H  -Ed1  OK  <
  496. 2C  ALL  H  0i1  OK  >
  497. 2C  ALL  -H  0i1  OK  <
  498. 2C  ALL  H  -0i1  OK  >
  499. 2C  ALL  -H  -0i1  OK  <
  500. 2C  ALL  Ed1  H  OK  <
  501. 2C  ALL  Ed1  -H  OK  >
  502. 2C  ALL  -Ed1  H  OK  <
  503. 2C  ALL  -Ed1  -H  OK  >
  504. ! Zero vs finite -- watch that sign
  505. ! of 0 is meaningless.
  506. 2C  ALL  0  Hm1  OK  <
  507. 2C  ALL  -0  Hm1  OK  <
  508. 2C  ALL  -Hm1  0  OK  <
  509. 2C  ALL  -Hm1  -0  OK  <
  510. 2C  ALL  1  -0  OK  >
  511. 2C  ALL  -1  -0  OK  <
  512. 2C  ALL  0  1  OK  <
  513. 2C  ALL  -0  -1  OK  >
  514. ! Zero vs denormalized.
  515. 2C  ALL  0  Ed1  OK  <
  516. 2C  ALL  -0  Ed1  OK  <
  517. 2C  ALL  0  -Ed1  OK  >
  518. 2C  ALL  -0  -Ed1  OK  >
  519. 2C  ALL  0  0i1  OK  <
  520. 2C  ALL  -0  0i1  OK  <
  521. 2C  ALL  0  -0i1  OK  >
  522. 2C  ALL  -0  -0i1  OK  >
  523. 2C  ALL  Ed1  0  OK  >
  524. 2C  ALL  Ed1  -0  OK  >
  525. 2C  ALL  -Ed1  0  OK  <
  526. 2C  ALL  -Ed1  -0  OK  <
  527. ! Zero vs tiny -- just in case.
  528. 2C  ALL  -0  -E  OK  >
  529. 2C  ALL  E  0  OK  >
  530. 2C  ALL  0  -E  OK  >
  531. 2C  ALL  -E  0  OK  <
  532. ! Zero vs Zero -- watch signs
  533. ! and rounding modes.
  534. 2C  ALL  0  -0  OK  =
  535. 2C  ALL  -0  0  OK  =
  536. 2C  ALL  0  -0  OK  =
  537. 2C  ALL  -0  0  OK  =
  538. ! Big cancellations.
  539. 2C  ALL  Hm1  Hm1  OK  =
  540. 2C  ALL  Hm1  Hm1  OK  =
  541. 2C  ALL  -Hm1  -Hm1  OK  =
  542. 2C  ALL  -Hm1  -Hm1  OK  =
  543. 2C  ALL  Hm1d2  Hm1d2  OK  =
  544. 2C  ALL  -Hm1d2  -Hm1d2  OK  =
  545. 2C  ALL  Hd1  Hd1  OK  =
  546. 2C  ALL  Hd1  Hd1  OK  =
  547. 2C  ALL  -Hd1  -Hd1  OK  =
  548. 2C  ALL  -Hd1  -Hd1  OK  =
  549. ! Medium cancellations.
  550. 2C  ALL  1  1  OK  =
  551. 2C  ALL  1m1  1m1  OK  =
  552. 2C  ALL  3  3  OK  =
  553. 2C  ALL  E  E  OK  =
  554. 2C  ALL  Hm2  Hm2  OK  =
  555. ! Tiny cancellations -- might
  556. ! have underflowed.
  557. 2C  ALL  Ed1  Ed1  OK  =
  558. 2C  ALL  -Ed1  -Ed1  OK  =
  559. 2C  ALL  0i4  0i4  OK  =
  560. 2C  ALL  -0i4  -0i4  OK  =
  561. 2C  ALL  0i1  0i1  OK  =
  562. 2C  ALL  -0i1  -0i1  OK  =
  563. ! Doublings.
  564. 2C  ALL  Hm1  -Hm1  OK  >
  565. 2C  ALL  -Hm1d2  Hm1d2  OK  <
  566. 2C  ALL  1  -1  OK  >
  567. 2C  ALL  -3  3  OK  <
  568. 2C  ALL  E  -E  OK  >
  569. 2C  ALL  -E  E  OK  <
  570. 2C  ALL  Ed4  -Ed4  OK  >
  571. 2C  ALL  -Ed1  Ed1  OK  <
  572. 2C  ALL  0i1  -0i1  OK  >
  573. 2C  ALL  -0i1  0i1  OK  <
  574. ! Cancellation with diff in LSB
  575. ! Difference is in last place of
  576. ! larger number.
  577. ! Medium numbers...
  578. 2C  ALL  1i1  1  OK  >
  579. 2C  ALL  -1i1  -1  OK  <
  580. 2C  ALL  1i1  1i2  OK  <
  581. 2C  ALL  -1i1  -1i2  OK  >
  582. 2C  ALL  2  2i1  OK  <
  583. 2C  ALL  -2  -2i1  OK  >
  584. 2C  ALL  2i4  2i3  OK  >
  585. 2C  ALL  -2i4  -2i3  OK  <
  586. 2C  ALL  4d1  4d2  OK  >
  587. 2C  ALL  -4d1  -4d2  OK  <
  588. 2C  ALL  2d4  2d3  OK  <
  589. 2C  ALL  -2d4  -2d3  OK  >
  590. ! Huge numbers...
  591. 2C  ALL  Hm1i1  Hm1  OK  >
  592. 2C  ALL  -Hm1i1  -Hm1  OK  <
  593. 2C  ALL  Hm1i1  Hm1i2  OK  <
  594. 2C  ALL  -Hm1i1  -Hm1i2  OK  >
  595. 2C  ALL  Hm2  Hm2i1  OK  <
  596. 2C  ALL  -Hm2  -Hm2i1  OK  >
  597. 2C  ALL  Hm2i4  Hm2i3  OK  >
  598. 2C  ALL  -Hm2i4  -Hm2i3  OK  <
  599. 2C  ALL  Hm2d1  Hm2d2  OK  >
  600. 2C  ALL  -Hm2d1  -Hm2d2  OK  <
  601. 2C  ALL  -Hd2  -Hd1  OK  >
  602. 2C  ALL  Hd2  Hd1  OK  <
  603. ! Tiny numbers...
  604. 2C  ALL  -Ei1  -E  OK  <
  605. 2C  ALL  Ei1  E  OK  >
  606. 2C  ALL  -Ed1  -E  OK  >
  607. 2C  ALL  Ed1  E  OK  <
  608. 2C  ALL  Ei1  Ei2  OK  <
  609. 2C  ALL  -Ei1  -Ei2  OK  >
  610. 2C  ALL  Ed1  Ed2  OK  >
  611. 2C  ALL  -Ed1  -Ed2  OK  <
  612. 2C  ALL  Ed3  Ed2  OK  <
  613. 2C  ALL  -Ed3  -Ed2  OK  >
  614. 2C  ALL  0i2  0i1  OK  >
  615. 2C  ALL  -0i2  -0i1  OK  <
  616. 2C  ALL  0i3  0i2  OK  >
  617. 2C  ALL  -0i3  -0i2  OK  <
  618. ! Normalize from round bit -- set up
  619. ! tests so that operands have
  620. ! exponents differing by 1 unit.
  621. ! Medium numbers...
  622. 2C  ALL  2  2d1  OK  >
  623. 2C  ALL  -2  -2d1  OK  <
  624. 2C  ALL  -2d1  -2  OK  >
  625. 2C  ALL  2d1  2  OK  <
  626. 2C  ALL  4i1  4d1  OK  >
  627. 2C  ALL  -4i1  -4d1  OK  <
  628. 2C  ALL  4d1  4i2  OK  <
  629. 2C  ALL  -4d1  -4i2  OK  >
  630. 2C  ALL  2i1  1i1  OK  >
  631. 2C  ALL  -2i1  -1i1  OK  <
  632. 2C  ALL  2i2  1i1  OK  >
  633. 2C  ALL  -2i2  -1i1  OK  <
  634. 2C  ALL  2i2  1i3  OK  >
  635. 2C  ALL  -2i2  -1i3  OK  <
  636. ! Huge numbers...
  637. 2C  ALL  Hm2  Hm2d1  OK  >
  638. 2C  ALL  -Hm2  -Hm2d1  OK  <
  639. 2C  ALL  -Hm1d1  -Hm1  OK  >
  640. 2C  ALL  Hm1d1  Hm1  OK  <
  641. 2C  ALL  Hm4i1  Hm4d1  OK  >
  642. 2C  ALL  -Hm4i1  -Hm4d1  OK  <
  643. 2C  ALL  Hm2d1  Hm2i2  OK  <
  644. 2C  ALL  -Hm2d1  -Hm2i2  OK  >
  645. 2C  ALL  Hm2i1  Hm1i1  OK  <
  646. 2C  ALL  -Hm2i1  -Hm1i1  OK  >
  647. 2C  ALL  Hm1i2  Hm2i1  OK  >
  648. 2C  ALL  -Hm1i2  -Hm2i1  OK  <
  649. 2C  ALL  Hm2i2  Hm3i3  OK  >
  650. 2C  ALL  -Hm2i2  -Hm3i3  OK  <
  651. ! Tiny numbers...
  652. 2C  ALL  Ep1  Ep1d1  OK  >
  653. 2C  ALL  -Ep1  -Ep1d1  OK  <
  654. 2C  ALL  -Ep1d1  -Ep1  OK  >
  655. 2C  ALL  Ep1d1  Ep1  OK  <
  656. 2C  ALL  Ep1i1  Ep1d1  OK  >
  657. 2C  ALL  -Ep1i1  -Ep1d1  OK  <
  658. 2C  ALL  Ep2  Ep2d1  OK  >
  659. 2C  ALL  -Ep2  -Ep2d1  OK  <
  660. 2C  ALL  -Ep2d1  -Ep2  OK  >
  661. 2C  ALL  Ep2d1  Ep2  OK  <
  662. 2C  ALL  Ep2i1  Ep2d1  OK  >
  663. 2C  ALL  -Ep2i1  -Ep2d1  OK  <
  664. 2C  ALL  Ep1d1  Ep1i2  OK  <
  665. 2C  ALL  -Ep1d1  -Ep1i2  OK  >
  666. 2C  ALL  Ep1d1  Ep1i4  OK  <
  667. 2C  ALL  -Ep1d1  -Ep1i4  OK  >
  668. 2C  ALL  Ep1i1  Ei1  OK  >
  669. 2C  ALL  -Ep1i1  -Ei1  OK  <
  670. 2C  ALL  Ep1i2  Ei1  OK  >
  671. 2C  ALL  -Ep1i2  -Ei1  OK  <
  672. 2C  ALL  Ep2i2  Ep1i3  OK  >
  673. 2C  ALL  -Ep2i2  -Ep1i3  OK  <
  674. !
  675. ! Add magnitude cases where one operand
  676. ! is off in sticky -- rounding
  677. ! perhaps to an overflow.
  678. ! Huge vs medium
  679. 2C  ALL  Hm1  1  OK  >
  680. 2C  ALL  -Hm1  -1  OK  <
  681. 2C  ALL  Hm1d1  -1  OK  >
  682. 2C  ALL  Hm1d1  1  OK  >
  683. 2C  ALL  -Hm1d1  1  OK  <
  684. 2C  ALL  -Hm1d1  -1  OK  <
  685. 2C  ALL  Hd1  1  OK  >
  686. 2C  ALL  Hd1  -1  OK  >
  687. 2C  ALL  -Hd1  1  OK  <
  688. 2C  ALL  -Hd1  -1  OK  <
  689. 2C  ALL  Hd2  -1  OK  >
  690. 2C  ALL  Hd2  1  OK  >
  691. 2C  ALL  -Hd2  1  OK  <
  692. 2C  ALL  -Hd2  -1  OK  <
  693. ! Huge vs tiny.
  694. 2C  ALL  0i1  Hm1  OK  <
  695. 2C  ALL  0i1  -Hm1  OK  >
  696. 2C  ALL  -0i1  Hm1  OK  <
  697. 2C  ALL  -0i1  -Hm1  OK  >
  698. 2C  ALL  0i1  Hm1d1  OK  <
  699. 2C  ALL  0i1  -Hm1d1  OK  >
  700. 2C  ALL  -0i1  Hm1d1  OK  <
  701. 2C  ALL  -0i1  -Hm1d1  OK  >
  702. 2C  ALL  0i1  Hd1  OK  <
  703. 2C  ALL  0i1  -Hd1  OK  >
  704. 2C  ALL  -0i1  Hd1  OK  <
  705. 2C  ALL  -0i1  -Hd1  OK  >
  706. 2C  ALL  0i1  Hd2  OK  <
  707. 2C  ALL  0i1  -Hd2  OK  >
  708. 2C  ALL  -0i1  Hd2  OK  <
  709. 2C  ALL  -0i1  -Hd2  OK  >
  710. ! Medium vs tiny.
  711. 2C  ALL  0i1  1  OK  <
  712. 2C  ALL  0i1  -1  OK  >
  713. 2C  ALL  -0i1  1  OK  <
  714. 2C  ALL  -0i1  -1  OK  >
  715. 2C  ALL  0i1  1d1  OK  <
  716. 2C  ALL  0i1  -1d1  OK  >
  717. 2C  ALL  -0i1  1d1  OK  <
  718. 2C  ALL  -0i1  -1d1  OK  >
  719. 2C  ALL  0i1  2d1  OK  <
  720. 2C  ALL  0i1  -2d1  OK  >
  721. 2C  ALL  -0i1  2d1  OK  <
  722. 2C  ALL  -0i1  -2d1  OK  >
  723. 2C  ALL  0i1  2d2  OK  <
  724. 2C  ALL  0i1  -2d2  OK  >
  725. 2C  ALL  -0i1  2d2  OK  <
  726. 2C  ALL  -0i1  -2d2  OK  >
  727. !
  728. ! Magnitude subtract when an operand
  729. ! is in the sticky bit.
  730. ! The interesting cases will arise
  731. ! when directed rounding
  732. ! forces a nonzero cancellation.
  733. ! Huge and medium.
  734. 2C  ALL  Hm1  1  OK  >
  735. 2C  ALL  Hm1  -1  OK  >
  736. 2C  ALL  -Hm1  1  OK  <
  737. 2C  ALL  -Hm1  -1  OK  <
  738. 2C  ALL  Hm1d1  1  OK  >
  739. 2C  ALL  Hm1d1  -1  OK  >
  740. 2C  ALL  -Hm1d1  1  OK  <
  741. 2C  ALL  -Hm1d1  -1  OK  <
  742. 2C  ALL  Hd1  1  OK  >
  743. 2C  ALL  Hd1  -1  OK  >
  744. 2C  ALL  -Hd1  1  OK  <
  745. 2C  ALL  -Hd1  -1  OK  <
  746. 2C  ALL  Hd2  1  OK  >
  747. 2C  ALL  Hd2  -1  OK  >
  748. 2C  ALL  -Hd2  1  OK  <
  749. 2C  ALL  -Hd2  -1  OK  <
  750. ! Huge and tiny.
  751. 2C  ALL  Hd1  0i1  OK  >
  752. 2C  ALL  Hd1  -0i1  OK  >
  753. 2C  ALL  -Hd1  0i1  OK  <
  754. 2C  ALL  -Hd1  -0i1  OK  <
  755. 2C  ALL  0i3  Hm1  OK  <
  756. 2C  ALL  -0i3  Hm1  OK  <
  757. 2C  ALL  0i3  -Hm1  OK  >
  758. 2C  ALL  -0i3  -Hm1  OK  >
  759. ! Medium and tiny.
  760. 2C  ALL  1d1  0i1  OK  >
  761. 2C  ALL  1d1  -0i1  OK  >
  762. 2C  ALL  2d1  0i1  OK  >
  763. 2C  ALL  -2d1  0i1  OK  <
  764. 2C  ALL  0i3  3  OK  <
  765. 2C  ALL  -0i3  3  OK  <
  766. 2C  ALL  0i3  5  OK  <
  767. 2C  ALL  0i3  -5  OK  >
  768. !
  769. ! Add magnitude with difference in
  770. ! LSB so, except for denorms,
  771. ! round bit is crucial.
  772. ! Half-way cases arise.
  773. ! Medium cases.
  774. 2C  ALL  1i1  1  OK  >
  775. 2C  ALL  1i1  -1  OK  >
  776. 2C  ALL  -1i1  1  OK  <
  777. 2C  ALL  -1i1  -1  OK  <
  778. 2C  ALL  -2  2i1  OK  <
  779. 2C  ALL  -2  -2i1  OK  >
  780. 2C  ALL  2  -2i1  OK  >
  781. 2C  ALL  2  2i1  OK  <
  782. 2C  ALL  1  1i3  OK  <
  783. 2C  ALL  1  -1i3  OK  >
  784. 2C  ALL  -1  1i3  OK  <
  785. 2C  ALL  -1  -1i3  OK  >
  786. 2C  ALL  -2i1  -2i2  OK  >
  787. 2C  ALL  -2i1  2i2  OK  <
  788. 2C  ALL  2i1  -2i2  OK  >
  789. 2C  ALL  2i1  2i2  OK  <
  790. ! Huge cases.
  791. 2C  ALL  Hd2  Hd1  OK  <
  792. 2C  ALL  Hd2  -Hd1  OK  >
  793. 2C  ALL  -Hd2  Hd1  OK  <
  794. 2C  ALL  -Hd2  -Hd1  OK  >
  795. 2C  ALL  Hm1d1  Hm1  OK  <
  796. 2C  ALL  Hm1d1  -Hm1  OK  >
  797. 2C  ALL  -Hm1d1  Hm1  OK  <
  798. 2C  ALL  -Hm1d1  -Hm1  OK  >
  799. 2C  ALL  Hm1i1  Hm1  OK  >
  800. 2C  ALL  Hm1i1  -Hm1  OK  >
  801. 2C  ALL  -Hm1i1  Hm1  OK  <
  802. 2C  ALL  -Hm1i1  -Hm1  OK  <
  803. 2C  ALL  Hm2i1  Hm2  OK  >
  804. 2C  ALL  Hm2i1  -Hm2  OK  >
  805. 2C  ALL  -Hm2i1  Hm2  OK  <
  806. 2C  ALL  -Hm2i1  -Hm2  OK  <
  807. 2C  ALL  Hm1d2  Hm1d1  OK  <
  808. 2C  ALL  Hm1d2  -Hm1d1  OK  >
  809. 2C  ALL  -Hm1d2  Hm1d1  OK  <
  810. 2C  ALL  -Hm1d2  -Hm1d1  OK  >
  811. ! NaN operands.
  812. 2C  ALL  Q  0  OK  ?
  813. 2C  ALL  Q  -0  OK  ?
  814. 2C  ALL  0  Q  OK  ?
  815. 2C  ALL  -0  Q  OK  ?
  816. 2C  ALL  Q  1  OK  ?
  817. 2C  ALL  Q  -1  OK  ?
  818. 2C  ALL  1  Q  OK  ?
  819. 2C  ALL  -1  Q  OK  ?
  820. 2C  ALL  Ed1  Q  OK  ?
  821. 2C  ALL  -Ed1 Q  OK  ?
  822. 2C  ALL  Q  Ed1  OK  ?
  823. 2C  ALL  Q  -Ed1 OK  ?
  824. 2C  ALL  Q  0i1  OK  ?
  825. 2C  ALL  Q  -0i1  OK  ?
  826. 2C  ALL  0i1  Q  OK  ?
  827. 2C  ALL  -0i1  Q  OK  ?
  828. 2C  ALL  Q  Hd1  OK  ?
  829. 2C  ALL  Q  -Hd1 OK  ?
  830. 2C  ALL  Hd1  Q  OK  ?
  831. 2C  ALL  -Hd1 Q  OK  ?
  832. 2C  ALL  Q  H  OK  ?
  833. 2C  ALL  Q  -H  OK  ?
  834. 2C  ALL  H  Q  OK  ?
  835. 2C  ALL  -H  Q  OK  ?
  836. 2C  ALL  Q  Q  OK  ?
  837. 2C  ALL  S  0  i  ?
  838. 2C  ALL  S  -0  i  ?
  839. 2C  ALL  0  S  i  ?
  840. 2C  ALL  -0  S  i  ?
  841. 2C  ALL  S  1  i  ?
  842. 2C  ALL  S  -1  i  ?
  843. 2C  ALL  1  S  i  ?
  844. 2C  ALL  -1  S  i  ?
  845. 2C  ALL  Ed1  S  i  ?
  846. 2C  ALL  -Ed1 S  i  ?
  847. 2C  ALL  S  Ed1  i  ?
  848. 2C  ALL  S  -Ed1 i  ?
  849. 2C  ALL  S  0i1  i  ?
  850. 2C  ALL  S  -0i1  i  ?
  851. 2C  ALL  0i1  S  i  ?
  852. 2C  ALL  -0i1  S  i  ?
  853. 2C  ALL  S  Hd1  i  ?
  854. 2C  ALL  S  -Hd1 i  ?
  855. 2C  ALL  Hd1  S  i  ?
  856. 2C  ALL  -Hd1 S  i  ?
  857. 2C  ALL  S  H  i  ?
  858. 2C  ALL  S  -H  i  ?
  859. 2C  ALL  H  S  i  ?
  860. 2C  ALL  -H  S  i  ?
  861. 2C  ALL  Q  S  i  ?
  862. 2C  ALL  S  Q  i  ?
  863. 2C  ALL  S  S  i  ?
  864. !
  865. ! CopySign test vectors:
  866. !
  867. 2@  ALL  1  1  OK  1
  868. 2@  ALL  1  -1  OK  -1
  869. 2@  ALL  -1  1  OK  1
  870. 2@  ALL  -1  -1  OK  -1
  871. 2@  ALL  1  0i1  OK  1
  872. 2@  ALL  1  -0i1  OK  -1
  873. 2@  ALL  -1  0i1  OK  1
  874. 2@  ALL  -1  -0i1  OK  -1
  875. 2@  ALL  1  Hd1  OK  1
  876. 2@  ALL  1  -Hd1  OK  -1
  877. 2@  ALL  -1  Hd1  OK  1
  878. 2@  ALL  -1  -Hd1  OK  -1
  879. 2@  ALL  1  H  OK  1
  880. 2@  ALL  1  -H  OK  -1
  881. 2@  ALL  -1  H  OK  1
  882. 2@  ALL  -1  -H  OK  -1
  883. 2@  ALL  1  0  OK  1
  884. 2@  ALL  1  -0  OK  -1
  885. 2@  ALL  -1  0  OK  1
  886. 2@  ALL  -1  -0  OK  -1
  887. 2@  ALL  0i1  1  OK  0i1
  888. 2@  ALL  0i1  -1  OK  -0i1
  889. 2@  ALL  -0i1  1  OK  0i1
  890. 2@  ALL  -0i1  -1  OK  -0i1
  891. 2@  ALL  0i1  H  OK  0i1
  892. 2@  ALL  0i1  -H  OK  -0i1
  893. 2@  ALL  -0i1  H  OK  0i1
  894. 2@  ALL  -0i1  -H  OK  -0i1
  895. 2@  ALL  0i1  0  OK  0i1
  896. 2@  ALL  0i1  -0  OK  -0i1
  897. 2@  ALL  -0i1  0  OK  0i1
  898. 2@  ALL  -0i1  -0  OK  -0i1
  899. 2@  ALL  Hd1  E  OK  Hd1
  900. 2@  ALL  Hd1  -E  OK  -Hd1
  901. 2@  ALL  -Hd1  E  OK  Hd1
  902. 2@  ALL  -Hd1  -E  OK  -Hd1
  903. 2@  ALL  Hd1  H  OK  Hd1
  904. 2@  ALL  Hd1  -H  OK  -Hd1
  905. 2@  ALL  -Hd1  H  OK  Hd1
  906. 2@  ALL  -Hd1  -H  OK  -Hd1
  907. 2@  ALL  Hd1  0  OK  Hd1
  908. 2@  ALL  Hd1  -0  OK  -Hd1
  909. 2@  ALL  -Hd1  0  OK  Hd1
  910. 2@  ALL  -Hd1  -0  OK  -Hd1
  911. 2@  ALL  H  1  OK  H
  912. 2@  ALL  H  -1  OK  -H
  913. 2@  ALL  -H  1  OK  H
  914. 2@  ALL  -H  -1  OK  -H
  915. 2@  ALL  H  Ed1  OK  H
  916. 2@  ALL  H  -Ed1  OK  -H
  917. 2@  ALL  -H  Ed1  OK  H
  918. 2@  ALL  -H  -Ed1  OK  -H
  919. 2@  ALL  H  0  OK  H
  920. 2@  ALL  H  -0  OK  -H
  921. 2@  ALL  -H  0  OK  H
  922. 2@  ALL  -H  -0  OK  -H
  923. 2@  ALL  H  H  OK  H
  924. 2@  ALL  H  -H  OK  -H
  925. 2@  ALL  -H  H  OK  H
  926. 2@  ALL  -H  -H  OK  -H
  927. ! NaNs -- FPTEST checks that NaNs
  928. ! are returned and with no exceptions.
  929. 2@  ALL  Q  1  OK  Q
  930. 2@  ALL  Q  -1  OK  -Q
  931. 2@  ALL  -Q  1  OK  Q
  932. 2@  ALL  -Q  -1  OK  -Q
  933. 2@  ALL  Q  0i1  OK  Q
  934. 2@  ALL  Q  -0i1  OK  -Q
  935. 2@  ALL  -Q  0i1  OK  Q
  936. 2@  ALL  -Q  -0i1  OK  -Q
  937. 2@  ALL  Q  H  OK  Q
  938. 2@  ALL  Q  -H  OK  -Q
  939. 2@  ALL  -Q  H  OK  Q
  940. 2@  ALL  -Q  -H  OK  -Q
  941. 2@  ALL  Q  0  OK  Q
  942. 2@  ALL  Q  -0  OK  -Q
  943. 2@  ALL  -Q  0  OK  Q
  944. 2@  ALL  -Q  -0  OK  -Q
  945. 2@  ALL  S  1  OK  S
  946. 2@  ALL  S  -1  OK  -S
  947. 2@  ALL  -S  1  OK  S
  948. 2@  ALL  -S  -1  OK  -S
  949. 2@  ALL  S  0i1  OK  S
  950. 2@  ALL  S  -0i1  OK  -S
  951. 2@  ALL  -S  0i1  OK  S
  952. 2@  ALL  -S  -0i1  OK  -S
  953. 2@  ALL  S  H  OK  S
  954. 2@  ALL  S  -H  OK  -S
  955. 2@  ALL  -S  H  OK  S
  956. 2@  ALL  -S  -H  OK  -S
  957. 2@  ALL  S  0  OK  S
  958. 2@  ALL  S  -0  OK  -S
  959. 2@  ALL  -S  0  OK  S
  960. 2@  ALL  -S  -0  OK  -S
  961. 2@  ALL  1  Q  OK  1
  962. 2@  ALL  1  -Q  OK  -1
  963. 2@  ALL  1  S  OK  1
  964. 2@  ALL  1  -S  OK  -1
  965. 2@  ALL  -1  Q  OK  1
  966. 2@  ALL  -1  -Q  OK  -1
  967. 2@  ALL  -1  S  OK  1
  968. 2@  ALL  -1  -S  OK  -1
  969. 2@  ALL  H  Q  OK  H
  970. 2@  ALL  H  -Q  OK  -H
  971. 2@  ALL  H  S  OK  H
  972. 2@  ALL  H  -S  OK  -H
  973. 2@  ALL  -H  Q  OK  H
  974. 2@  ALL  -H  -Q  OK  -H
  975. 2@  ALL  -H  S  OK  H
  976. 2@  ALL  -H  -S  OK  -H
  977. 2@  ALL  S  Q  OK  S
  978. 2@  ALL  S  -Q  OK  -S
  979. 2@  ALL  S  S  OK  S
  980. 2@  ALL  S  -S  OK  -S
  981. 2@  ALL  -S  Q  OK  S
  982. 2@  ALL  -S  -Q  OK  -S
  983. 2@  ALL  -S  S  OK  S
  984. 2@  ALL  -S  -S  OK  -S
  985. 2@  ALL  Q  Q  OK  Q
  986. 2@  ALL  Q  -Q  OK  -Q
  987. 2@  ALL  Q  S  OK  Q
  988. 2@  ALL  Q  -S  OK  -Q
  989. 2@  ALL  -Q  Q  OK  Q
  990. 2@  ALL  -Q  -Q  OK  -Q
  991. 2@  ALL  -Q  S  OK  Q
  992. 2@  ALL  -Q  -S  OK  -Q
  993. ! First the consistency checks.
  994. 2/  ALL  1  1  OK  1
  995. 2/  ALL  2  1  OK  2
  996. 2/  ALL  9  3  OK  3
  997. 2/  ALL  5  5  OK  1
  998. 2/  ALL  8  2  OK  4
  999. ! Check out sign manipulation.
  1000. 2/  ALL  -1  1  OK  -1
  1001. 2/  ALL  -2  1  OK  -2
  1002. 2/  ALL  2  -1  OK  -2
  1003. 2/  ALL  -8  2  OK  -4
  1004. 2/  ALL  3  -3  OK  -1
  1005. 2/  ALL  -7  7  OK  -1
  1006. 2/  ALL  -1  -1  OK  1
  1007. 2/  ALL  -2  -1  OK  2
  1008. 2/  ALL  -6  -3  OK  2
  1009. 2/  ALL  -9  -3  OK  3
  1010. ! Some zero tests, round mode
  1011. ! is irrelevant.
  1012. 2/  ALL  0  0  i  Q
  1013. 2/  ALL  -0  0  i  -Q
  1014. 2/  ALL  0  -0  i  -Q
  1015. 2/  ALL  -0  -0  i  Q
  1016. ! Infinity tests, round mode
  1017. ! irrelevant.
  1018. 2/  ALL  H  H  i  Q
  1019. 2/  ALL  -H  H  i  -Q
  1020. 2/  ALL  H  -H  i  -Q
  1021. 2/  ALL  -H  -H  i  Q
  1022. ! Inf / 0 --> Inf with no problem.
  1023. 2/  ALL  H  0  OK  H
  1024. 2/  ALL  -H  0  OK  -H
  1025. 2/  ALL  H  -0  OK  -H
  1026. 2/  ALL  -H  -0  OK  H
  1027. ! 0 / Inf --> 0 with no problem.
  1028. 2/  ALL  0  H  OK  0
  1029. 2/  ALL  -0  H  OK  -0
  1030. 2/  ALL  0  -H  OK  -0
  1031. 2/  ALL  -0  -H  OK  0
  1032. ! Inf / small_integer -> Inf.
  1033. 2/  ALL  H  1  OK  H
  1034. 2/  ALL  -H  2  OK  -H
  1035. 2/  ALL  H  -3  OK  -H
  1036. 2/  ALL  -H  -4  OK  H
  1037. 2/  ALL  H  5  OK  H
  1038. 2/  ALL  -H  6  OK  -H
  1039. 2/  ALL  H  -7  OK  -H
  1040. 2/  ALL  -H  -8  OK  H
  1041. ! Small_int / Inf -> 0.
  1042. 2/  ALL  1  H  OK  0
  1043. 2/  ALL  -2  H  OK  -0
  1044. 2/  ALL  3  -H  OK  -0
  1045. 2/  ALL  -4  -H  OK  0
  1046. 2/  ALL  5  H  OK  0
  1047. 2/  ALL  -6  H  OK  -0
  1048. 2/  ALL  7  -H  OK  -0
  1049. 2/  ALL  -8  -H  OK  0
  1050. ! Huge / Inf -> 0.
  1051. 2/  ALL  Hm1  H  OK  0
  1052. 2/  ALL  -Hm2  H  OK  -0
  1053. 2/  ALL  Hm1  -H  OK  -0
  1054. 2/  ALL  -Hm2  -H  OK  0
  1055. 2/  ALL  Hm1d1  H  OK  0
  1056. 2/  ALL  -Hm2d1  H  OK  -0
  1057. 2/  ALL  Hd1  -H  OK  -0
  1058. 2/  ALL  -Hd1  -H  OK  0
  1059. ! Inf / huge -> Inf.
  1060. 2/  ALL  H  Hm1  OK  H
  1061. 2/  ALL  -H  Hm2  OK  -H
  1062. 2/  ALL  H  -Hm1  OK  -H
  1063. 2/  ALL  -H  -Hm2  OK  H
  1064. 2/  ALL  H  Hm1d1  OK  H
  1065. 2/  ALL  H  -Hm2d1  OK  -H
  1066. 2/  ALL  H  -Hd1  OK  -H
  1067. 2/  ALL  -H  -Hd1  OK  H
  1068. ! Inf / tiny -> Inf.
  1069. 2/  ALL  H  E  OK  H
  1070. 2/  ALL  -H  Ep1  OK  -H
  1071. 2/  ALL  H  -Ep1  OK  -H
  1072. 2/  ALL  -H  -E  OK  H
  1073. 2/  ALL  H  Ep1d1  OK  H
  1074. 2/  ALL  -H  Ei1  OK  -H
  1075. 2/  ALL  H  -Ei1  OK  -H
  1076. 2/  ALL  -H  -Ep1d1  OK  H
  1077. ! Tiny / Inf -> 0.
  1078. 2/  ALL  E  H  OK  0
  1079. 2/  ALL  -Ep1  H  OK  -0
  1080. 2/  ALL  Ep1  -H  OK  -0
  1081. 2/  ALL  -E  -H  OK  0
  1082. 2/  ALL  Ep1d1  H  OK  0
  1083. 2/  ALL  -Ei1  H  OK  -0
  1084. 2/  ALL  Ei1  -H  OK  -0
  1085. 2/  ALL  -Ep1d1  -H  OK  0
  1086. ! Inf / denormalized -> Inf.
  1087. 2/  ALL  H  0i1  OK  H
  1088. 2/  ALL  -H  0i3  OK  -H
  1089. 2/  ALL  H  -0i2  OK  -H
  1090. 2/  ALL  -H  -0i4  OK  H
  1091. 2/  ALL  H  Ed1  OK  H
  1092. 2/  ALL  -H  Ed1  OK  -H
  1093. 2/  ALL  H  -Ed1  OK  -H
  1094. 2/  ALL  -H  -Ed1  OK  H
  1095. ! Denorm / Inf -> 0.
  1096. 2/  ALL  0i1  H  OK  0
  1097. 2/  ALL  -0i3  H  OK  -0
  1098. 2/  ALL  0i2  -H  OK  -0
  1099. 2/  ALL  -0i4  -H  OK  0
  1100. 2/  ALL  Ed1  H  OK  0
  1101. 2/  ALL  -Ed1  H  OK  -0
  1102. 2/  ALL  Ed1  -H  OK  -0
  1103. 2/  ALL  -Ed1  -H  OK  0
  1104. ! 0 / small_integer -> 0.
  1105. 2/  ALL  0  1  OK  0
  1106. 2/  ALL  -0  2  OK  -0
  1107. 2/  ALL  0  -3  OK  -0
  1108. 2/  ALL  -0  -4  OK  0
  1109. 2/  ALL  0  5  OK  0
  1110. 2/  ALL  -0  6  OK  -0
  1111. 2/  ALL  0  -7  OK  -0
  1112. 2/  ALL  -0  -8  OK  0
  1113. ! Small_int / 0 -> Inf with DivBy0.
  1114. 2/  ALL  1  0  z  H
  1115. 2/  ALL  -2  0  z  -H
  1116. 2/  ALL  3  -0  z  -H
  1117. 2/  ALL  -4  -0  z  H
  1118. 2/  ALL  5  0  z  H
  1119. 2/  ALL  -6  0  z  -H
  1120. 2/  ALL  7  -0  z  -H
  1121. 2/  ALL  -8  -0  z  H
  1122. ! 0 / huge -> 0.
  1123. 2/  ALL  0  Hm1  OK  0
  1124. 2/  ALL  -0  Hm2  OK  -0
  1125. 2/  ALL  0  -Hm1  OK  -0
  1126. 2/  ALL  -0  -Hm2  OK  0
  1127. 2/  ALL  0  Hm1d1  OK  0
  1128. 2/  ALL  -0  Hm2d1  OK  -0
  1129. 2/  ALL  0  -Hm2d1  OK  -0
  1130. 2/  ALL  -0  -Hm1d1  OK  0
  1131. ! Huge / 0 -> Inf with DivBy0.
  1132. 2/  ALL  Hm1  0  z  H
  1133. 2/  ALL  -Hm2  0  z  -H
  1134. 2/  ALL  Hm1  -0  z  -H
  1135. 2/  ALL  -Hm2  -0  z  H
  1136. 2/  ALL  Hm1d1  0  z  H
  1137. 2/  ALL  -Hm2d1  0  z  -H
  1138. 2/  ALL  Hm2d1  -0  z  -H
  1139. 2/  ALL  -Hm1d1  -0  z  H
  1140. ! 0 / tiny -> 0.
  1141. 2/  ALL  0  E  OK  0
  1142. 2/  ALL  -0  Ep1  OK  -0
  1143. 2/  ALL  0  -Ep1  OK  -0
  1144. 2/  ALL  -0  -E  OK  0
  1145. 2/  ALL  0  Ep1d1  OK  0
  1146. 2/  ALL  -0  Ei1  OK  -0
  1147. 2/  ALL  0  -Ei1  OK  -0
  1148. 2/  ALL  -0  -Ep1d1  OK  0
  1149. ! Tiny / 0 -> Inf with DivBy0.
  1150. 2/  ALL  E  0  z  H
  1151. 2/  ALL  -Ep1  0  z  -H
  1152. 2/  ALL  Ep1  -0  z  -H
  1153. 2/  ALL  -E  -0  z  H
  1154. 2/  ALL  Ep1d1  0  z  H
  1155. 2/  ALL  -Ei1  0  z  -H
  1156. 2/  ALL  Ei1  -0  z  -H
  1157. 2/  ALL  -Ep1d1  -0  z  H
  1158. ! 0 / denormalized -> 0.
  1159. 2/  ALL  0  0i1  OK  0
  1160. 2/  ALL  -0  0i3  OK  -0
  1161. 2/  ALL  0  -0i2  OK  -0
  1162. 2/  ALL  -0  -0i4  OK  0
  1163. 2/  ALL  0  Ed1  OK  0
  1164. 2/  ALL  -0  Ed1  OK  -0
  1165. 2/  ALL  0  -Ed1  OK  -0
  1166. 2/  ALL  -0  -Ed1  OK  0
  1167. ! Denormalized * 0 -> Inf, DivBy0.
  1168. 2/  ALL  0i1  0  z  H
  1169. 2/  ALL  -0i3  0  z  -H
  1170. 2/  ALL  0i2  -0  z  -H
  1171. 2/  ALL  -0i4  -0  z  H
  1172. 2/  ALL  Ed1  0  z  H
  1173. 2/  ALL  -Ed1  0  z  -H
  1174. 2/  ALL  Ed1  -0  z  -H
  1175. 2/  ALL  -Ed1  -0  z  H
  1176. ! Exact cases huge and 2.
  1177. 2/  ALL  Hm1  2  OK  Hm2
  1178. 2/  ALL  Hm1  -2  OK  -Hm2
  1179. 2/  ALL  -Hm1d1  2  OK  -Hm2d1
  1180. 2/  ALL  Hm1d3  -2  OK  -Hm2d3
  1181. 2/  ALL  Hm1  2  OK  Hm2
  1182. 2/  ALL  Hm1  -2  OK  -Hm2
  1183. 2/  ALL  -Hm1d1  2  OK  -Hm2d1
  1184. 2/  ALL  Hm1d3  -2  OK  -Hm2d3
  1185. 2/  ALL  Hd1  Hm1d1  OK  2
  1186. 2/  ALL  Hd1  -2  OK  -Hm1d1
  1187. 2/  ALL  -Hm1i1  Hm2i1  OK  -2
  1188. 2/  ALL  Hm1i3  -Hm2i3  OK  -2
  1189. 2/  ALL  Hd1  Hm1d1  OK  2
  1190. 2/  ALL  Hd1  -2  OK  -Hm1d1
  1191. 2/  ALL  -Hm1i1  Hm2i1  OK  -2
  1192. 2/  ALL  Hm1i3  -Hm2i3  OK  -2
  1193. ! Exact cases huge and 4.
  1194. 2/  ALL  Hd1  Hm2d1  OK  4
  1195. 2/  ALL  -Hd1  Hm2d1  OK  -4
  1196. 2/  ALL  Hd1  -Hm2d1  OK  -4
  1197. 2/  ALL  -Hd1  -Hm2d1  OK  4
  1198. 2/  ALL  Hd1  Hm2d1  OK  4
  1199. 2/  ALL  -Hd1  Hm2d1  OK  -4
  1200. 2/  ALL  Hd1  -Hm2d1  OK  -4
  1201. 2/  ALL  -Hd1  -Hm2d1  OK  4
  1202. 2/  ALL  Hd3  4  OK  Hm2d3
  1203. 2/  ALL  Hd3  -4  OK  -Hm2d3
  1204. 2/  ALL  -Hd3  4  OK  -Hm2d3
  1205. 2/  ALL  -Hd3  -4  OK  Hm2d3
  1206. 2/  ALL  Hd3  4  OK  Hm2d3
  1207. 2/  ALL  Hd3  -4  OK  -Hm2d3
  1208. 2/  ALL  -Hd3  4  OK  -Hm2d3
  1209. 2/  ALL  -Hd3  -4  OK  Hm2d3
  1210. ! Exact cases tiny and 2.
  1211. 2/  ALL  Ep1  E  OK  2
  1212. 2/  ALL  Ep1  -2  OK  -E
  1213. 2/  ALL  -Ep1i1  Ei1  OK  -2
  1214. 2/  ALL  Ep1i3  -2  OK  -Ei3
  1215. 2/  ALL  Ep1  E  OK  2
  1216. 2/  ALL  Ep1  -2  OK  -E
  1217. 2/  ALL  -Ep1i1  Ei1  OK  -2
  1218. 2/  ALL  Ep1i3  -2  OK  -Ei3
  1219. 2/  ALL  Ep1i1  Ei1  OK  2
  1220. 2/  ALL  Ep1i1  -2  OK  -Ei1
  1221. 2/  ALL  -Ep1i5  Ei5  OK  -2
  1222. 2/  ALL  Ep1i3  -Ei3  OK  -2
  1223. 2/  ALL  Ep1i1  Ei1  OK  2
  1224. 2/  ALL  Ep1i1  -2  OK  -Ei1
  1225. 2/  ALL  -Ep1i5  Ei5  OK  -2
  1226. 2/  ALL  Ep1i3  -Ei3  OK  -2
  1227. 2/  ALL  Ed1  1m1  OK  Ep1d2
  1228. 2/  ALL  Ed1  1m9  OK  Ep9d2
  1229. ! Huge / tiny -> overflow.
  1230. 2/  =>  Hm1  1m1  ox  H
  1231. 2/  0<  Hm1  1m1  ox  Hd1
  1232. 2/  =>  -Hm1  -1m1  ox  H
  1233. 2/  0<  -Hm1  -1m1  ox  Hd1
  1234. 2/  =<  Hm1  -1m1  ox  -H
  1235. 2/  =<  -Hm1  1m1  ox  -H
  1236. 2/  0>  Hm1  -1m1  ox  -Hd1
  1237. 2/  0>  -Hm1  1m1  ox  -Hd1
  1238. 2/  =>  Hm9  Ep9  ox  H
  1239. 2/  0<  Hm9  Ep9  ox  Hd1
  1240. 2/  =>  Hd1  0i1  ox  H
  1241. 2/  0<  Hd1  0i1  ox  Hd1
  1242. 2/  =>  Hm1  Ed1  ox  H
  1243. 2/  0<  Hm1  Ed1  ox  Hd1
  1244. 2/  =>  Hd1  1d1  ox  H
  1245. 2/  0<  Hd1  1d1  ox  Hd1
  1246. ! Will underflow unless loss of accuracy
  1247. ! is detected as a denormalization loss.
  1248. 2/  =0<  E  1i1  xv  Ed1
  1249. 2/  =0>  -E  1i1  xv  -Ed1
  1250. 2/  >=  Ed2  1d2  xv  Ed1
  1251. 2/  >=  Ed9  1d2  xv  Ed8
  1252. 2/  <=  -Ed8  1d2  xv  -Ed7
  1253. 2/  <=0  Ei1  1i2  xv  Ed1
  1254. 2/  <=0  Ed1  1i2  xv  Ed3
  1255. 2/  <=0  Ei2  1i6  xv  Ed4
  1256. 2/  0<  Ed1  1i1  xv  Ed2
  1257. ! Tiny / huge -> underflow.
  1258. 2/  =<0  0i1  Hd1  xu  0
  1259. 2/  >  0i1  Hd1  xu  0i1
  1260. 2/  =<0  -0i1  -Hd1  xu  0
  1261. 2/  >  -0i1  -Hd1  xu  0i1
  1262. 2/  =0>  0i1  -Hd1 xu  -0
  1263. 2/  <  0i1  -Hd1 xu  -0i1
  1264. 2/  =0>  -0i1  Hd1 xu  -0
  1265. 2/  <  -0i1  Hd1 xu  -0i1
  1266. ! Tiny / 2.
  1267. 2/  >  0i1  2  xu  0i1
  1268. 2/  =0<  0i1  2  xu  0
  1269. 2/  >  -0i1  -2  xu  0i1
  1270. 2/  =0<  -0i1  -2  xu  0
  1271. 2/  <  0i1  -2  xu  -0i1
  1272. 2/  =0>  0i1  -2  xu  -0
  1273. 2/  <  -0i1  2  xu  -0i1
  1274. 2/  =0>  -0i1  2  xu  -0
  1275. ! Barely underflow.
  1276. 2/  0<  Ep1d1  2  xu  Ed1  
  1277. 2/  0>  Ep1d1  -2  xu  -Ed1
  1278. 2/  >=  Ep1d1  2  xu  E
  1279. 2/  >  E  1i1  xu  E
  1280. 2/  <  -E  1i1  xu  -E
  1281. 2/  >  Ei1  1i2  xu  E
  1282. 2/  >  Ed1  1i2  xu  Ed2
  1283. ! Denorm result but will not underflow.
  1284. 2/  ALL  Ep1d2  2  OK  Ed1
  1285. 2/  ALL  Ed1  1  OK  Ed1
  1286. 2/  ALL  0i1  1m1  OK  0i2
  1287. 2/  ALL  0i1  1m3  OK  0i8
  1288. 2/  ALL  0i9  9  OK  0i1
  1289. 2/  ALL  0i9  -9  OK  -0i1
  1290. 2/  ALL  Ed1  -1  OK  -Ed1
  1291. 2/  ALL  -0i1  1m1  OK  -0i2
  1292. ! Tricky divides based on power
  1293. ! series expansions
  1294. ! 1 / (1 + Nulp+) -->
  1295. ! 1 - (2Nulp-) + tiny.
  1296. 2/  =  1  1i1  x  1d2
  1297. 2/  0  1  1i1  x  1d2
  1298. 2/  <  1  1i1  x  1d2
  1299. 2/  >  1  1i1  x  1d1
  1300. 2/  =  1  1i2  x  1d4
  1301. 2/  0  1  1i2  x  1d4
  1302. 2/  <  1  1i2  x  1d4
  1303. 2/  >  1  1i2  x  1d3
  1304. 2/  =  1  1i3  x  1d6
  1305. 2/  0  1  1i3  x  1d6
  1306. 2/  <  1  1i3  x  1d6
  1307. 2/  >  1  1i3  x  1d5
  1308. 2/  =  1  1i4  x  1d8
  1309. 2/  0  1  1i4  x  1d8
  1310. 2/  <  1  1i4  x  1d8
  1311. 2/  >  1  1i4  x  1d7
  1312. ! 1 / (1 - Nu-) -->
  1313. ! 1 + (Q/2 u+) + tiny.
  1314. 2/  =  1  1d1  x  1i1
  1315. 2/  0  1  1d1  x  1
  1316. 2/  <  1  1d1  x  1
  1317. 2/  >  1  1d1  x  1i1
  1318. 2/  =  1  1d2  x  1i1
  1319. 2/  0  1  1d2  x  1i1
  1320. 2/  <  1  1d2  x  1i1
  1321. 2/  >  1  1d2  x  1i2
  1322. 2/  =  1  1d3  x  1i2
  1323. 2/  0  1  1d3  x  1i1
  1324. 2/  <  1  1d3  x  1i1
  1325. 2/  >  1  1d3  x  1i2
  1326. 2/  =  1  1d4  x  1i2
  1327. 2/  0  1  1d4  x  1i2
  1328. 2/  <  1  1d4  x  1i2
  1329. 2/  >  1  1d4  x  1i3
  1330. 2/  =  1  1d5  x  1i3
  1331. 2/  0  1  1d5  x  1i2
  1332. 2/  <  1  1d5  x  1i2
  1333. 2/  >  1  1d5  x  1i3
  1334. 2/  =  1  1d8  x  1i4
  1335. 2/  0  1  1d8  x  1i4
  1336. 2/  <  1  1d8  x  1i4
  1337. 2/  >  1  1d8  x  1i5
  1338. 2/  =  1  1d9  x  1i5
  1339. 2/  0  1  1d9  x  1i4
  1340. 2/  <  1  1d9  x  1i4
  1341. 2/  >  1  1d9  x  1i5
  1342. ! (1 + Mu+) / (1 + Nu+) -->
  1343. ! Case M > Q: (1 + Mu+) *
  1344. ! (1 - Nu+ + (Nu+)^2 - tiny) -->
  1345. ! 1 + (M-Q)u+ - (MN-NN)(u+)^2 + tiny -->
  1346. ! 1 + (M-Q)u+ - tiny.
  1347. ! M + Q = 3.
  1348. 2/  =  1i2  1i1  x  1i1
  1349. 2/  0  1i2  1i1  x  1
  1350. 2/  <  1i2  1i1  x  1
  1351. 2/  >  1i2  1i1  x  1i1
  1352. ! M + Q = 4.
  1353. 2/  =  1i3  1i1  x  1i2
  1354. 2/  0  1i3  1i1  x  1i1
  1355. 2/  <  1i3  1i1  x  1i1
  1356. 2/  >  1i3  1i1  x  1i2
  1357. ! M + Q = 5.
  1358. 2/  =  1i4  1i1  x  1i3
  1359. 2/  0  1i4  1i1  x  1i2
  1360. 2/  <  1i4  1i1  x  1i2
  1361. 2/  >  1i4  1i1  x  1i3
  1362. ! M + Q = 9.
  1363. 2/  =  1i7  1i2  x  1i5
  1364. 2/  0  1i7  1i2  x  1i4
  1365. 2/  <  1i7  1i2  x  1i4
  1366. 2/  >  1i7  1i2  x  1i5
  1367. ! Q = 17.
  1368. 2/  =  1i9  1i8  x  1i1
  1369. 2/  0  1i9  1i8  x  1
  1370. 2/  <  1i9  1i8  x  1
  1371. 2/  >  1i9  1i8  x  1i1
  1372. ! (1 + Mulp+) / (1 + Nulp+) -->
  1373. ! Case M < Q: (1 + 2Mulp-) *
  1374. ! (1 - 2Nulp- + (2Nulp-)^2 - tiny) -->
  1375. ! 1 - 2(Q-M)ulp- +
  1376. !  4(NN-MN)(ulp-)^2 + tiny -->
  1377. ! 1 - 2(Q-M)ulp- + tiny.
  1378. ! M + Q = 3.
  1379. 2/  =  1i1  1i2  x  1d2
  1380. 2/  0  1i1  1i2  x  1d2
  1381. 2/  <  1i1  1i2  x  1d2
  1382. 2/  >  1i1  1i2  x  1d1
  1383. ! M + Q = 4.
  1384. 2/  =  1i1  1i3  x  1d4
  1385. 2/  0  1i1  1i3  x  1d4
  1386. 2/  <  1i1  1i3  x  1d4
  1387. 2/  >  1i1  1i3  x  1d3
  1388. ! M + Q = 5.
  1389. 2/  =  1i2  1i3  x  1d2
  1390. 2/  0  1i2  1i3  x  1d2
  1391. 2/  <  1i2  1i3  x  1d2
  1392. 2/  >  1i2  1i3  x  1d1
  1393. ! M + Q = 11.
  1394. 2/  =  1i4  1i7  x  1d6
  1395. 2/  0  1i4  1i7  x  1d6
  1396. 2/  <  1i4  1i7  x  1d6
  1397. 2/  >  1i4  1i7  x  1d5
  1398. ! M + Q = 14.
  1399. 2/  =  1i6  1i8  x  1d4
  1400. 2/  0  1i6  1i8  x  1d4
  1401. 2/  <  1i6  1i8  x  1d4
  1402. 2/  >  1i6  1i8  x  1d3
  1403. ! (1 - Mulp-) / (1 - Nulp-) -->
  1404. ! Case M > Q: (1 - Mulp-) *
  1405. ! (1 + Nulp- + (Nulp-)^2 + tiny) -->
  1406. ! 1 - (M-Q)ulp- -
  1407. !  (MN-NN)(ulp-)^2 + tiny -->
  1408. ! 1 - (M-Q)ulp- - tiny.
  1409. ! M + Q = 3.
  1410. 2/  =  1d2  1d1  x  1d1
  1411. 2/  0  1d2  1d1  x  1d2
  1412. 2/  <  1d2  1d1  x  1d2
  1413. 2/  >  1d2  1d1  x  1d1
  1414. ! M + Q = 4.
  1415. 2/  =  1d3  1d1  x  1d2
  1416. 2/  0  1d3  1d1  x  1d3
  1417. 2/  <  1d3  1d1  x  1d3
  1418. 2/  >  1d3  1d1  x  1d2
  1419. ! M + Q = 5.
  1420. 2/  =  1d3  1d2  x  1d1
  1421. 2/  0  1d3  1d2  x  1d2
  1422. 2/  <  1d3  1d2  x  1d2
  1423. 2/  >  1d3  1d2  x  1d1
  1424. 2/  =  1d4  1d1  x  1d3
  1425. 2/  0  1d4  1d1  x  1d4
  1426. 2/  <  1d4  1d1  x  1d4
  1427. 2/  >  1d4  1d1  x  1d3
  1428. ! M + Q = 6.
  1429. 2/  =  1d4  1d2  x  1d2
  1430. 2/  0  1d4  1d2  x  1d3
  1431. 2/  <  1d4  1d2  x  1d3
  1432. 2/  >  1d4  1d2  x  1d2
  1433. ! M + Q = 7.
  1434. 2/  =  1d4  1d3  x  1d1
  1435. 2/  0  1d4  1d3  x  1d2
  1436. 2/  <  1d4  1d3  x  1d2
  1437. 2/  >  1d4  1d3  x  1d1
  1438. ! M + Q = 11.
  1439. 2/  =  1d8  1d3  x  1d5
  1440. 2/  0  1d8  1d3  x  1d6
  1441. 2/  <  1d8  1d3  x  1d6
  1442. 2/  >  1d8  1d3  x  1d5
  1443. 2/  =  1d9  1d2  x  1d7
  1444. 2/  0  1d9  1d2  x  1d8
  1445. 2/  <  1d9  1d2  x  1d8
  1446. 2/  >  1d9  1d2  x  1d7
  1447. ! M + Q = 12.
  1448. 2/  =  1d8  1d4  x  1d4
  1449. 2/  0  1d8  1d4  x  1d5
  1450. 2/  <  1d8  1d4  x  1d5
  1451. 2/  >  1d8  1d4  x  1d4
  1452. ! M + Q = 14.
  1453. 2/  =  1d9  1d5  x  1d4
  1454. 2/  0  1d9  1d5  x  1d5
  1455. 2/  <  1d9  1d5  x  1d5
  1456. 2/  >  1d9  1d5  x  1d4
  1457. ! (1 - Mulp-) / (1 - Nulp-) -->
  1458. ! Case M < Q: (1 - (M/2)ulp+) *
  1459. ! (1 + (Q/2)ulp+ +
  1460. !  ((Q/2)ulp+)^2 + tiny) -->
  1461. ! 1 + ((Q-M)/2)ulp+ +
  1462. !  (NN-MN)/4(ulp+)^2 + tiny -->
  1463. ! 1 + (Q-M)/2ulp+ + tiny.
  1464. ! M + Q = 3.
  1465. 2/  =  1d1  1d2  x  1i1
  1466. 2/  0  1d1  1d2  x  1
  1467. 2/  <  1d1  1d2  x  1
  1468. 2/  >  1d1  1d2  x  1i1
  1469. ! M + Q = 4.
  1470. 2/  =  1d1  1d3  x  1i1
  1471. 2/  0  1d1  1d3  x  1i1
  1472. 2/  <  1d1  1d3  x  1i1
  1473. 2/  >  1d1  1d3  x  1i2
  1474. ! M + Q = 5.
  1475. 2/  =  1d2  1d3  x  1i1
  1476. 2/  0  1d2  1d3  x  1
  1477. 2/  <  1d2  1d3  x  1
  1478. 2/  >  1d2  1d3  x  1i1
  1479. 2/  =  1d1  1d4  x  1i2
  1480. 2/  0  1d1  1d4  x  1i1
  1481. 2/  <  1d1  1d4  x  1i1
  1482. 2/  >  1d1  1d4  x  1i2
  1483. ! M + Q = 6.
  1484. 2/  =  1d2  1d4  x  1i1
  1485. 2/  0  1d2  1d4  x  1i1
  1486. 2/  <  1d2  1d4  x  1i1
  1487. 2/  >  1d2  1d4  x  1i2
  1488. ! M + Q = 7.
  1489. 2/  =  1d3  1d4  x  1i1
  1490. 2/  0  1d3  1d4  x  1
  1491. 2/  <  1d3  1d4  x  1
  1492. 2/  >  1d3  1d4  x  1i1
  1493. ! M + Q = 8.
  1494. 2/  =  1d1  1d7  x  1i3
  1495. 2/  0  1d1  1d7  x  1i3
  1496. 2/  <  1d1  1d7  x  1i3
  1497. 2/  >  1d1  1d7  x  1i4
  1498. ! M + Q = 9.
  1499. 2/  =  1d2  1d7  x  1i3
  1500. 2/  0  1d2  1d7  x  1i2
  1501. 2/  <  1d2  1d7  x  1i2
  1502. 2/  >  1d2  1d7  x  1i3
  1503. ! M + Q = 10.
  1504. 2/  =  1d3  1d7  x  1i2
  1505. 2/  0  1d3  1d7  x  1i2
  1506. 2/  <  1d3  1d7  x  1i2
  1507. 2/  >  1d3  1d7  x  1i3
  1508. ! M + Q = 11.
  1509. 2/  =  1d4  1d7  x  1i2
  1510. 2/  0  1d4  1d7  x  1i1
  1511. 2/  <  1d4  1d7  x  1i1
  1512. 2/  >  1d4  1d7  x  1i2
  1513. ! M + Q = 12.
  1514. 2/  =  1d5  1d7  x  1i1
  1515. 2/  0  1d5  1d7  x  1i1
  1516. 2/  <  1d5  1d7  x  1i1
  1517. 2/  >  1d5  1d7  x  1i2
  1518. ! M + Q = 13.
  1519. 2/  =  1d6  1d7  x  1i1
  1520. 2/  0  1d6  1d7  x  1
  1521. 2/  <  1d6  1d7  x  1
  1522. 2/  >  1d6  1d7  x  1i1
  1523. ! (1 + Mulp+) / (1 - Nulp-) -->
  1524. ! (1 + Mulp+) * (1 + (Q/2)ulp+ +
  1525. !  ((Q/2)ulp+)^2 + tiny) -->
  1526. ! 1 + (M + Q/2)ulp+ + tiny.
  1527. ! M + Q = 2.
  1528. 2/  =  1i1  1d1  x  1i2
  1529. 2/  0  1i1  1d1  x  1i1
  1530. 2/  <  1i1  1d1  x  1i1
  1531. 2/  >  1i1  1d1  x  1i2
  1532. ! M + Q = 3.
  1533. 2/  =  1i1  1d2  x  1i2
  1534. 2/  0  1i1  1d2  x  1i2
  1535. 2/  <  1i1  1d2  x  1i2
  1536. 2/  >  1i1  1d2  x  1i3
  1537. 2/  =  1i2  1d1  x  1i3
  1538. 2/  0  1i2  1d1  x  1i2
  1539. 2/  <  1i2  1d1  x  1i2
  1540. 2/  >  1i2  1d1  x  1i3
  1541. ! M + Q = 4.
  1542. 2/  =  1i1  1d3  x  1i3
  1543. 2/  0  1i1  1d3  x  1i2
  1544. 2/  <  1i1  1d3  x  1i2
  1545. 2/  >  1i1  1d3  x  1i3
  1546. 2/  =  1i3  1d1  x  1i4
  1547. 2/  0  1i3  1d1  x  1i3
  1548. 2/  <  1i3  1d1  x  1i3
  1549. 2/  >  1i3  1d1  x  1i4
  1550. 2/  =  1i2  1d2  x  1i3
  1551. 2/  0  1i2  1d2  x  1i3
  1552. 2/  <  1i2  1d2  x  1i3
  1553. 2/  >  1i2  1d2  x  1i4
  1554. ! M + Q = 5.
  1555. 2/  =  1i3  1d2  x  1i4
  1556. 2/  0  1i3  1d2  x  1i4
  1557. 2/  <  1i3  1d2  x  1i4
  1558. 2/  >  1i3  1d2  x  1i5
  1559. 2/  =  1i2  1d3  x  1i4
  1560. 2/  0  1i2  1d3  x  1i3
  1561. 2/  <  1i2  1d3  x  1i3
  1562. 2/  >  1i2  1d3  x  1i4
  1563. ! M + Q = 6.
  1564. 2/  =  1i3  1d3  x  1i5
  1565. 2/  0  1i3  1d3  x  1i4
  1566. 2/  <  1i3  1d3  x  1i4
  1567. 2/  >  1i3  1d3  x  1i5
  1568. 2/  =  1i1  1d5  x  1i4
  1569. 2/  0  1i1  1d5  x  1i3
  1570. 2/  <  1i1  1d5  x  1i3
  1571. 2/  >  1i1  1d5  x  1i4
  1572. 2/  =  1i5  1d1  x  1i6
  1573. 2/  0  1i5  1d1  x  1i5
  1574. 2/  <  1i5  1d1  x  1i5
  1575. 2/  >  1i5  1d1  x  1i6
  1576. 2/  =  1i2  1d4  x  1i4
  1577. 2/  0  1i2  1d4  x  1i4
  1578. 2/  <  1i2  1d4  x  1i4
  1579. 2/  >  1i2  1d4  x  1i5
  1580. 2/  =  1i4  1d2  x  1i5
  1581. 2/  0  1i4  1d2  x  1i5
  1582. 2/  <  1i4  1d2  x  1i5
  1583. 2/  >  1i4  1d2  x  1i6
  1584. ! (1 - Mulp-) / (1 + Nulp+) -->
  1585. ! (1 - Mulp-) * (1 - 2Nulp- +
  1586. !  (2Nulp-)^2 - tiny) -->
  1587. ! 1 - (M + 2N)ulp- + tiny.
  1588. ! M + Q = 2.
  1589. 2/  =  1d1  1i1  x  1d3
  1590. 2/  0  1d1  1i1  x  1d3
  1591. 2/  <  1d1  1i1  x  1d3
  1592. 2/  >  1d1  1i1  x  1d2
  1593. ! M + Q = 3.
  1594. 2/  =  1d2  1i1  x  1d4
  1595. 2/  0  1d2  1i1  x  1d4
  1596. 2/  <  1d2  1i1  x  1d4
  1597. 2/  >  1d2  1i1  x  1d3
  1598. 2/  =  1d1  1i2  x  1d5
  1599. 2/  0  1d1  1i2  x  1d5
  1600. 2/  <  1d1  1i2  x  1d5
  1601. 2/  >  1d1  1i2  x  1d4
  1602. ! M + Q = 4.
  1603. 2/  =  1d3  1i1  x  1d5
  1604. 2/  0  1d3  1i1  x  1d5
  1605. 2/  <  1d3  1i1  x  1d5
  1606. 2/  >  1d3  1i1  x  1d4
  1607. 2/  =  1d1  1i3  x  1d7
  1608. 2/  0  1d1  1i3  x  1d7
  1609. 2/  <  1d1  1i3  x  1d7
  1610. 2/  >  1d1  1i3  x  1d6
  1611. 2/  =  1d2  1i2  x  1d6
  1612. 2/  0  1d2  1i2  x  1d6
  1613. 2/  <  1d2  1i2  x  1d6
  1614. 2/  >  1d2  1i2  x  1d5
  1615. ! M + Q = 5.
  1616. 2/  =  1d4  1i1  x  1d6
  1617. 2/  0  1d4  1i1  x  1d6
  1618. 2/  <  1d4  1i1  x  1d6
  1619. 2/  >  1d4  1i1  x  1d5
  1620. 2/  =  1d1  1i4  x  1d9
  1621. 2/  0  1d1  1i4  x  1d9
  1622. 2/  <  1d1  1i4  x  1d9
  1623. 2/  >  1d1  1i4  x  1d8
  1624. 2/  =  1d3  1i2  x  1d7
  1625. 2/  0  1d3  1i2  x  1d7
  1626. 2/  <  1d3  1i2  x  1d7
  1627. 2/  >  1d3  1i2  x  1d6
  1628. 2/  =  1d2  1i3  x  1d8
  1629. 2/  0  1d2  1i3  x  1d8
  1630. 2/  <  1d2  1i3  x  1d8
  1631. 2/  >  1d2  1i3  x  1d7
  1632. ! Nan operands.
  1633. 2/  ALL  Q  0  OK  Q
  1634. 2/  ALL  Q  -0  OK  Q
  1635. 2/  ALL  0  Q  OK  Q
  1636. 2/  ALL  -0  Q  OK  Q
  1637. 2/  ALL  Q  1  OK  Q
  1638. 2/  ALL  Q  -1  OK  Q
  1639. 2/  ALL  1  Q  OK  Q
  1640. 2/  ALL  -1  Q  OK  Q
  1641. 2/  ALL  Ed1  Q  OK  Q
  1642. 2/  ALL  -Ed1 Q  OK  Q
  1643. 2/  ALL  Q  Ed1  OK  Q
  1644. 2/  ALL  Q  -Ed1 OK  Q
  1645. 2/  ALL  Q  0i1  OK  Q
  1646. 2/  ALL  Q  -0i1  OK  Q
  1647. 2/  ALL  0i1  Q  OK  Q
  1648. 2/  ALL  -0i1  Q  OK  Q
  1649. 2/  ALL  Q  Hd1  OK  Q
  1650. 2/  ALL  Q  -Hd1 OK  Q
  1651. 2/  ALL  Hd1  Q  OK  Q
  1652. 2/  ALL  -Hd1 Q  OK  Q
  1653. 2/  ALL  Q  H  OK  Q
  1654. 2/  ALL  Q  -H  OK  Q
  1655. 2/  ALL  H  Q  OK  Q
  1656. 2/  ALL  -H  Q  OK  Q
  1657. 2/  ALL  Q  Q  OK  Q
  1658. 2/  ALL  S  0  i  Q
  1659. 2/  ALL  S  -0  i  Q
  1660. 2/  ALL  0  S  i  Q
  1661. 2/  ALL  -0  S  i  Q
  1662. 2/  ALL  S  1  i  Q
  1663. 2/  ALL  S  -1  i  Q
  1664. 2/  ALL  1  S  i  Q
  1665. 2/  ALL  -1  S  i  Q
  1666. 2/  ALL  Ed1  S  i  Q
  1667. 2/  ALL  -Ed1 S  i  Q
  1668. 2/  ALL  S  Ed1  i  Q
  1669. 2/  ALL  S  -Ed1 i  Q
  1670. 2/  ALL  S  0i1  i  Q
  1671. 2/  ALL  S  -0i1  i  Q
  1672. 2/  ALL  0i1  S  i  Q
  1673. 2/  ALL  -0i1  S  i  Q
  1674. 2/  ALL  S  Hd1  i  Q
  1675. 2/  ALL  S  -Hd1 i  Q
  1676. 2/  ALL  Hd1  S  i  Q
  1677. 2/  ALL  -Hd1 S  i  Q
  1678. 2/  ALL  S  H  i  Q
  1679. 2/  ALL  S  -H  i  Q
  1680. 2/  ALL  H  S  i  Q
  1681. 2/  ALL  -H  S  i  Q
  1682. 2/  ALL  Q  S  i  Q
  1683. 2/  ALL  S  Q  i  Q
  1684. 2/  ALL  S  S  i  Q
  1685. !
  1686. ! Test vectors for the fraction part
  1687. ! of number as if with infinite range.
  1688. !
  1689. ! Mid-range.
  1690. 2F  ALL  1  0  OK  1
  1691. 2F  ALL  -1  0  OK  -1
  1692. 2F  ALL  2  0  OK  1
  1693. 2F  ALL  3  0  OK  3m1
  1694. 2F  ALL  4  0  OK  1
  1695. 2F  ALL  5  0  OK  5m2
  1696. 2F  ALL  6  0  OK  6m2
  1697. 2F  ALL  7  0  OK  7m2
  1698. 2F  ALL  -7  0  OK  -7m2
  1699. 2F  ALL  8  0  OK  1
  1700. 2F  ALL  9  0  OK  9m3
  1701. 2F  ALL  1i1  0  OK  1i1
  1702. 2F  ALL  2i1  0  OK  1i1
  1703. 2F  ALL  3i1  0  OK  3m1i1
  1704. 2F  ALL  4i1  0  OK  1i1
  1705. 2F  ALL  5i1  0  OK  5m2i1
  1706. 2F  ALL  6i1  0  OK  6m2i1
  1707. 2F  ALL  7i1  0  OK  7m2i1
  1708. 2F  ALL  8i1  0  OK  1i1
  1709. 2F  ALL  9i1  0  OK  9m3i1
  1710. 2F  ALL  -9i1  0  OK  -9m3i1
  1711. 2F  ALL  1d1  0  OK  2d1
  1712. 2F  ALL  2d1  0  OK  2d1
  1713. 2F  ALL  3d1  0  OK  3d1m1
  1714. 2F  ALL  4d1  0  OK  2d1
  1715. 2F  ALL  5d1  0  OK  5d1m2
  1716. 2F  ALL  6d1  0  OK  6d1m2
  1717. 2F  ALL  7d1  0  OK  7d1m2
  1718. 2F  ALL  8d1  0  OK  2d1
  1719. 2F  ALL  -8d1  0  OK  -2d1
  1720. 2F  ALL  9d1  0  OK  9d1m3
  1721. ! Small.
  1722. 2F  ALL  E  0  OK  1
  1723. 2F  ALL  -E  0  OK  -1
  1724. 2F  ALL  Ei1  0  OK  1i1
  1725. 2F  ALL  Ed1  0  OK  2d2
  1726. 2F  ALL  Ei8  0  OK  1i8
  1727. 2F  ALL  Ed4  0  OK  2d8
  1728. 2F  ALL  0i1  0  OK  1
  1729. 2F  ALL  -0i1  0  OK  -1
  1730. 2F  ALL  0i8  0  OK  1
  1731. 2F  ALL  0i9  0  OK  9m3
  1732. 2F  ALL  Ep1d1  0  OK  2d1
  1733. 2F  ALL  Ep1d9  0  OK  2d9
  1734. 2F  ALL  Ep1i1  0  OK  1i1
  1735. ! Large.
  1736. 2F  ALL  Hm1  0  OK  1
  1737. 2F  ALL  Hd1  0  OK  2d1
  1738. 2F  ALL  -Hm1  0  OK  -1
  1739. 2F  ALL  -Hd1  0  OK  -2d1
  1740. 2F  ALL  Hd9  0  OK  2d9
  1741. 2F  ALL  Hm1i1  0  OK  1i1
  1742. 2F  ALL  Hm1i8  0  OK  1i8
  1743. 2F  ALL  Hm1d1  0  OK  2d1
  1744. ! LogB test vectors
  1745. 2L  ALL  1  0  OK  0
  1746. 2L  ALL  2  0  OK  1
  1747. 2L  ALL  -2  0  OK  1
  1748. 2L  ALL  3  0  OK  1
  1749. 2L  ALL  4  0  OK  2
  1750. 2L  ALL  5  0  OK  2
  1751. 2L  ALL  6  0  OK  2
  1752. 2L  ALL  7  0  OK  2
  1753. 2L  ALL  8  0  OK  3
  1754. 2L  ALL  9  0  OK  3
  1755. 2L  ALL  1p9  0  OK  9
  1756. 2L  ALL  2p8  0  OK  9
  1757. 2L  ALL  3p8  0  OK  9
  1758. 2L  ALL  -3p8  0  OK  9
  1759. 2L  ALL  4p7  0  OK  9
  1760. 2L  ALL  5p7  0  OK  9
  1761. 2L  ALL  6p7  0  OK  9
  1762. 2L  ALL  7p7  0  OK  9
  1763. 2L  ALL  8p6  0  OK  9
  1764. 2L  ALL  9p6  0  OK  9
  1765. 2L  ALL  1p9d1  0  OK  8
  1766. 2L  ALL  2p8d1  0  OK  8
  1767. 2L  ALL  3p8d1  0  OK  9
  1768. 2L  ALL  4p7d1  0  OK  8
  1769. 2L  ALL  -4p7d1  0  OK  8
  1770. 2L  ALL  5p7d1  0  OK  9
  1771. 2L  ALL  6p7d1  0  OK  9
  1772. 2L  ALL  7p7d1  0  OK  9
  1773. 2L  ALL  8p6d1  0  OK  8
  1774. 2L  ALL  9p6d1  0  OK  9
  1775. 2L  ALL  1m1  0  OK  -1
  1776. 2L  ALL  3m1  0  OK  0
  1777. 2L  ALL  3m2  0  OK  -1
  1778. 2L  ALL  9m1  0  OK  2
  1779. 2L  ALL  9m2  0  OK  1
  1780. 2L  ALL  9m3  0  OK  0
  1781. 2L  ALL  9m4  0  OK  -1
  1782. 2L  ALL  9m5  0  OK  -2
  1783. 2L  ALL  9m6  0  OK  -3
  1784. 2L  ALL  -9m6  0  OK  -3
  1785. 2L  ALL  9m7  0  OK  -4
  1786. 2L  ALL  9m8  0  OK  -5
  1787. 2L  ALL  1d1  0  OK  -1
  1788. 2L  ALL  2d1  0  OK  0
  1789. 2L  ALL  3d1  0  OK  1
  1790. 2L  ALL  4d1  0  OK  1
  1791. 2L  ALL  5d1  0  OK  2
  1792. 2L  ALL  6d1  0  OK  2
  1793. 2L  ALL  7d1  0  OK  2
  1794. 2L  ALL  8d1  0  OK  2
  1795. 2L  ALL  -8d1  0  OK  2
  1796. 2L  ALL  9d1  0  OK  3
  1797. 2L  ALL  1m1d1  0  OK  -2
  1798. 2L  ALL  3m1d1  0  OK  0
  1799. 2L  ALL  3m2d1  0  OK  -1
  1800. 2L  ALL  9m1d1  0  OK  2
  1801. 2L  ALL  9m2d1  0  OK  1
  1802. 2L  ALL  9m3d1  0  OK  0 
  1803. 2L  ALL  9m4d1  0  OK  -1
  1804. 2L  ALL  9m5d1  0  OK  -2
  1805. 2L  ALL  9m6d1  0  OK  -3
  1806. 2L  ALL  9m7d1  0  OK  -4
  1807. 2L  ALL  9m8d1  0  OK  -5
  1808. 2L  ALL  -9m7d1  0  OK  -4
  1809. 2L  ALL  1p8p8  0  OK  1p4
  1810. 2L  ALL  1p8p8p8p8 0  OK  1p5
  1811. 2L  ALL  1p8p8p8p8p8p8p8p8 0 OK  1p6
  1812. 2L  ALL  1p8p8p8p8p8p8p8p8i9 0 OK  1p6
  1813. 2L  ALL  -1p8p8p8p8p8p8p8p8i9 0 OK  1p6
  1814. 2L  ALL  1m8m8  0  OK  -1p4
  1815. 2L  ALL  1m8m8m8m8 0  OK  -1p5
  1816. 2L  ALL  1m8m8m8m8m8m8m8m8 0 OK  -1p6
  1817. 2L  ALL  1m8m8m8m8m8m8m8m8i9 0 OK  -1p6
  1818. 2L  ALL  -1m8m8m8m8m8m8m8m8i9 0 OK  -1p6
  1819. ! Exceptional cases.
  1820. 2L  ALL  Q  0  OK  Q
  1821. 2L  ALL  S  0  i  Q
  1822. 2L  ALL  H  0  OK  H
  1823. 2L  ALL  -H  0  OK  H
  1824. 2L  ALL  0  0  z  -H
  1825. 2L  ALL  -0  0  z  -H
  1826. ! First some easy tests for consistency.
  1827. 2*  ALL  1  1  OK  1
  1828. 2*  ALL  1  2  OK  2
  1829. 2*  ALL  2  1  OK  2
  1830. 2*  ALL  2  3  OK  6
  1831. 2*  ALL  3  2  OK  6
  1832. 2*  ALL  3  3  OK  9
  1833. ! Check out sign manipulation.
  1834. 2*  ALL  -1  1  OK  -1
  1835. 2*  ALL  -1  2  OK  -2
  1836. 2*  ALL  2  -1  OK  -2
  1837. 2*  ALL  -2  3  OK  -6
  1838. 2*  ALL  3  -2  OK  -6
  1839. 2*  ALL  -3  3  OK  -9
  1840. 2*  ALL  -1  -1  OK  1
  1841. 2*  ALL  -1  -2  OK  2
  1842. 2*  ALL  -2  -1  OK  2
  1843. 2*  ALL  -2  -3  OK  6
  1844. 2*  ALL  -3  -2  OK  6
  1845. 2*  ALL  -3  -3  OK  9
  1846. ! Some zero tests, round mode is
  1847. ! irrelevant.
  1848. 2*  ALL  0  0  OK  0
  1849. 2*  ALL  -0  0  OK  -0
  1850. 2*  ALL  0  -0  OK  -0
  1851. 2*  ALL  -0  -0  OK  0
  1852. ! Infinity tests, round mode
  1853. ! irrelevant.
  1854. 2*  ALL  H  H  OK  H
  1855. 2*  ALL  -H  H  OK  -H
  1856. 2*  ALL  H  -H  OK  -H
  1857. 2*  ALL  -H  -H  OK  H
  1858. ! Inf * 0 -- always bad news.
  1859. 2*  ALL  H  0  i  Q
  1860. 2*  ALL  -0  H  i  -Q
  1861. 2*  ALL  H  -0  i  -Q
  1862. 2*  ALL  -0  -H  i  Q
  1863. ! Inf * small_integer -> Inf.
  1864. 2*  ALL  H  1  OK  H
  1865. 2*  ALL  -2  H  OK  -H
  1866. 2*  ALL  H  -3  OK  -H
  1867. 2*  ALL  -4  -H  OK  H
  1868. 2*  ALL  5  H  OK  H
  1869. 2*  ALL  -H  6  OK  -H
  1870. 2*  ALL  7  -H  OK  -H
  1871. 2*  ALL  -H  -8  OK  H
  1872. ! Inf * huge -> Inf.
  1873. 2*  ALL  Hm1  H  OK  H
  1874. 2*  ALL  -Hm2  H  OK  -H
  1875. 2*  ALL  H  -Hm1  OK  -H
  1876. 2*  ALL  -H  -Hm2  OK  H
  1877. 2*  ALL  H  Hm1d1  OK  H
  1878. 2*  ALL  -Hm2d1  H  OK  -H
  1879. 2*  ALL  H  -Hd1  OK  -H
  1880. 2*  ALL  -Hd1  -H  OK  H
  1881. ! Inf * tiny -> Inf.
  1882. 2*  ALL  E  H  OK  H
  1883. 2*  ALL  -Ep1  H  OK  -H
  1884. 2*  ALL  H  -Ep1  OK  -H
  1885. 2*  ALL  -H  -E  OK  H
  1886. 2*  ALL  H  Ep1d1  OK  H
  1887. 2*  ALL  -Ei1  H  OK  -H
  1888. 2*  ALL  H  -Ei1  OK  -H
  1889. 2*  ALL  -Ep1d1  -H  OK  H
  1890. ! Inf * denormalized -> Inf.
  1891. 2*  ALL  0i1  H  OK  H
  1892. 2*  ALL  -0i3  H  OK  -H
  1893. 2*  ALL  H  -0i2  OK  -H
  1894. 2*  ALL  -H  -0i4  OK  H
  1895. 2*  ALL  H  Ed1  OK  H
  1896. 2*  ALL  -Ed1  H  OK  -H
  1897. 2*  ALL  H  -Ed1  OK  -H
  1898. 2*  ALL  -Ed1  -H  OK  H
  1899. ! 0 * small_integer -> 0.
  1900. 2*  ALL  0  1  OK  0
  1901. 2*  ALL  -2  0  OK  -0
  1902. 2*  ALL  0  -3  OK  -0
  1903. 2*  ALL  -4  -0  OK  0
  1904. 2*  ALL  5  0  OK  0
  1905. 2*  ALL  -0  6  OK  -0
  1906. 2*  ALL  7  -0  OK  -0
  1907. 2*  ALL  -0  -8  OK  0
  1908. ! 0 * huge -> 0.
  1909. 2*  ALL  Hm1  0  OK  0
  1910. 2*  ALL  -Hm2  0  OK  -0
  1911. 2*  ALL  0  -Hm1  OK  -0
  1912. 2*  ALL  -0  -Hm2  OK  0
  1913. 2*  ALL  0  Hm1d1  OK  0
  1914. 2*  ALL  -Hm2d1  0  OK  -0
  1915. 2*  ALL  0  -Hm2d1  OK  -0
  1916. 2*  ALL  -Hm1d1  -0  OK  0
  1917. 2*  ALL  Hd1  0  OK  0
  1918. 2*  ALL  -Hd1  -0  OK  0
  1919. 2*  ALL  0  -Hd1 OK  -0
  1920. 2*  ALL  -0  Hd1  OK  -0
  1921. ! 0 * tiny -> 0.
  1922. 2*  ALL  E  0  OK  0
  1923. 2*  ALL  -Ep1  0  OK  -0
  1924. 2*  ALL  0  -Ep1  OK  -0
  1925. 2*  ALL  -0  -E  OK  0
  1926. 2*  ALL  0  Ep1d1  OK  0
  1927. 2*  ALL  -Ei1  0  OK  -0
  1928. 2*  ALL  0  -Ei1  OK  -0
  1929. 2*  ALL  -Ep1d1  -0  OK  0
  1930. ! 0 * denormalized -> 0.
  1931. 2*  ALL  0i1  0  OK  0
  1932. 2*  ALL  -0i3  0  OK  -0
  1933. 2*  ALL  0  -0i2  OK  -0
  1934. 2*  ALL  -0  -0i4  OK  0
  1935. 2*  ALL  0  Ed1  OK  0
  1936. 2*  ALL  -Ed1  0  OK  -0
  1937. 2*  ALL  0  -Ed1  OK  -0
  1938. 2*  ALL  -Ed1  -0  OK  0
  1939. ! Exact cases huge and 2.
  1940. 2*  ALL  2  Hm2  OK  Hm1
  1941. 2*  ALL  Hm2  -2  OK  -Hm1
  1942. 2*  ALL  -2  Hm2d1  OK  -Hm1d1
  1943. 2*  ALL  2  -Hm2d3  OK  -Hm1d3
  1944. 2*  ALL  2  Hm2  OK  Hm1
  1945. 2*  ALL  Hm2  -2  OK  -Hm1
  1946. 2*  ALL  -2  Hm2d1  OK  -Hm1d1
  1947. 2*  ALL  2  -Hm2d3  OK  -Hm1d3
  1948. 2*  ALL  2  Hm1d1  OK  Hd1
  1949. 2*  ALL  Hm1d1  -2  OK  -Hd1
  1950. 2*  ALL  -2  Hm2i1  OK  -Hm1i1
  1951. 2*  ALL  2  -Hm2i3  OK  -Hm1i3
  1952. 2*  ALL  2  Hm1d1  OK  Hd1
  1953. 2*  ALL  Hm1d1  -2  OK  -Hd1
  1954. 2*  ALL  -2  Hm2i1  OK  -Hm1i1
  1955. 2*  ALL  2  -Hm2i3  OK  -Hm1i3
  1956. ! Exact cases huge and 4.
  1957. 2*  ALL  4  Hm2d1  OK  Hd1
  1958. 2*  ALL  -4  Hm2d1  OK  -Hd1
  1959. 2*  ALL  4  -Hm2d1  OK  -Hd1
  1960. 2*  ALL  -4  -Hm2d1  OK  Hd1
  1961. 2*  ALL  4  Hm2d1  OK  Hd1
  1962. 2*  ALL  -4  Hm2d1  OK  -Hd1
  1963. 2*  ALL  4  -Hm2d1  OK  -Hd1
  1964. 2*  ALL  -4  -Hm2d1  OK  Hd1
  1965. 2*  ALL  Hm2d3  4  OK  Hd3
  1966. 2*  ALL  Hm2d3  -4  OK  -Hd3
  1967. 2*  ALL  -Hm2d3  4  OK  -Hd3
  1968. 2*  ALL  -Hm2d3  -4  OK  Hd3
  1969. 2*  ALL  Hm2d3  4  OK  Hd3
  1970. 2*  ALL  Hm2d3  -4  OK  -Hd3
  1971. 2*  ALL  -Hm2d3  4  OK  -Hd3
  1972. 2*  ALL  -Hm2d3  -4  OK  Hd3
  1973. ! Exact cases tiny and 2.
  1974. 2*  ALL  2  E  OK  Ep1
  1975. 2*  ALL  E  -2  OK  -Ep1
  1976. 2*  ALL  -2  Ei1  OK  -Ep1i1
  1977. 2*  ALL  2  -Ei3  OK  -Ep1i3
  1978. 2*  ALL  2  E  OK  Ep1
  1979. 2*  ALL  E  -2  OK  -Ep1
  1980. 2*  ALL  -2  Ei9  OK  -Ep1i9
  1981. 2*  ALL  2  -Ei5  OK  -Ep1i5
  1982. 2*  ALL  2  Ei1  OK  Ep1i1
  1983. 2*  ALL  Ei1  -2  OK  -Ep1i1
  1984. 2*  ALL  -2  Ei5  OK  -Ep1i5
  1985. 2*  ALL  2  -Ei3  OK  -Ep1i3
  1986. 2*  ALL  2  Ei1  OK  Ep1i1
  1987. 2*  ALL  Ei1  -2  OK  -Ep1i1
  1988. 2*  ALL  -2  Ei5  OK  -Ep1i5
  1989. 2*  ALL  2  -Ei3  OK  -Ep1i3
  1990. ! Just below denormalization threshold.
  1991. 2*  ALL  Ed1  2  OK  Ep1d2
  1992. 2*  ALL  -2  Ed3  OK  -Ep1d6
  1993. 2*  ALL  -Ed3  -2  OK  Ep1d6
  1994. 2*  ALL  -2  Ed3  OK  -Ep1d6
  1995. 2*  ALL  Ed4  2  OK  Ep1d8
  1996. 2*  ALL  2  -Ed3  OK  -Ep1d6
  1997. ! Normalizing tinies.
  1998. 2*  ALL  0i1  2  OK  0i2
  1999. 2*  ALL  3  0i2  OK  0i6
  2000. 2*  ALL  -0i1  5  OK  -0i5
  2001. 2*  ALL  1  -0i9  OK  -0i9
  2002. 2*  ALL  -0i4  -1  OK  0i4
  2003. 2*  ALL  4  0i2  OK  0i8
  2004. 2*  ALL  0i1  2  OK  0i2
  2005. 2*  ALL  3  0i2  OK  0i6
  2006. 2*  ALL  -0i1  5  OK  -0i5
  2007. 2*  ALL  1  -0i9  OK  -0i9
  2008. 2*  ALL  -0i4  -1  OK  0i4
  2009. 2*  ALL  4  0i2  OK  0i8
  2010. 2*  ALL  0i1  2  OK  0i2
  2011. 2*  ALL  3  0i2  OK  0i6
  2012. 2*  ALL  -0i1  5  OK  -0i5
  2013. 2*  ALL  1  -0i9  OK  -0i9
  2014. 2*  ALL  -0i4  -1  OK  0i4
  2015. 2*  ALL  4  0i2  OK  0i8
  2016. 2*  ALL  0i1  2  OK  0i2
  2017. 2*  ALL  3  0i2  OK  0i6
  2018. 2*  ALL  -0i1  5  OK  -0i5
  2019. 2*  ALL  1  -0i9  OK  -0i9
  2020. 2*  ALL  -0i4  -1  OK  0i4
  2021. 2*  ALL  4  0i2  OK  0i8
  2022. ! 1.0 * various.
  2023. 2*  ALL  1  Ep1i3  OK  Ep1i3
  2024. 2*  ALL  -Ep1d2  1  OK  -Ep1d2
  2025. 2*  ALL  -1  Ei9  OK  -Ei9
  2026. 2*  ALL  -Ei1  -1  OK  Ei1
  2027. 2*  ALL  1  Ep1i3  OK  Ep1i3
  2028. 2*  ALL  -Ep1d2  1  OK  -Ep1d2
  2029. 2*  ALL  -1  Ei9  OK  -Ei9
  2030. 2*  ALL  -Ei1  -1  OK  Ei1
  2031. 2*  ALL  1  Ed3  OK  Ed3
  2032. 2*  ALL  -0i2  1  OK  -0i2
  2033. 2*  ALL  -1  0i9  OK  -0i9
  2034. 2*  ALL  -Ed1  -1  OK  Ed1
  2035. 2*  ALL  1  Ed3  OK  Ed3
  2036. 2*  ALL  -0i2  1  OK  -0i2
  2037. 2*  ALL  -1  0i9  OK  -0i9
  2038. 2*  ALL  -Ed1  -1  OK  Ed1
  2039. ! Now some tricky rounding cases involving
  2040. ! 1.0 with some ulps.
  2041. ! result = 1.00000...010|000...0001
  2042. 2*  =0<  1i1  1i1  x  1i2
  2043. 2*  >  1i1  1i1  x  1i3
  2044. ! Try signs...
  2045. 2*  =0>  -1i1  1i1  x  -1i2
  2046. 2*  <  -1i1  1i1  x  -1i3
  2047. 2*  =0>  1i1  -1i1  x  -1i2
  2048. 2*  <  1i1  -1i1  x  -1i3
  2049. 2*  =0<  -1i1  -1i1  x  1i2
  2050. 2*  >  -1i1  -1i1  x  1i3
  2051. ! result = 1.0000..011|0000100
  2052. 2*  =0<  1i2  1i1  x  1i3
  2053. 2*  >  1i2  1i1  x  1i4
  2054. ! Try signs...
  2055. 2*  =0>  -1i2  1i1  x  -1i3
  2056. 2*  <  -1i2  1i1  x  -1i4
  2057. 2*  =0>  1i1  -1i2  x  -1i3
  2058. 2*  <  1i1  -1i2  x  -1i4
  2059. 2*  =0<  -1i2  -1i1  x  1i3
  2060. 2*  >  -1i1  -1i2  x  1i4
  2061. 2*  >  -1i2  -1i1  x  1i4
  2062. 2*  =0<  -1i1  -1i2  x  1i3
  2063. ! (m + k ulps of m) * (1 + j ulps of 1)
  2064. ! = m + (k + m*j/2^floor(log m)) ulps
  2065. ! of m + tiny.
  2066. 2*  =>  3i1  1i1  x  3i3
  2067. 2*  0<  3i1  1i1  x  3i2
  2068. 2*  >=  3i1  1i3  x  3i6
  2069. 2*  0<  3i1  1i3  x  3i5
  2070. 2*  =<  -3i1  1i1  x  -3i3
  2071. 2*  0>  -3i1  1i1  x  -3i2
  2072. 2*  <=  3i1  -1i3  x  -3i6
  2073. 2*  0>  3i1  -1i3  x  -3i5
  2074. 2*  >  5i1  1i1  x  5i3
  2075. 2*  =0<  5i1  1i1  x  5i2
  2076. 2*  >  -5i1  -1i1  x  5i3
  2077. 2*  =0<  -5i1  -1i1  x  5i2
  2078. 2*  >=  7i1  1i1  x  7i3
  2079. 2*  <0  7i1  1i1  x  7i2
  2080. 2*  0<=  3d1  1d1  x  3d2
  2081. 2*  >  3d1  1d1  x  3d1
  2082. 2*  0<  3d1  1d3  x  3d4
  2083. 2*  =>  3d1  1d3  x  3d3
  2084. 2*  0>=  -3d1  1d1  x  -3d2
  2085. 2*  <  -3d1  1d1  x  -3d1
  2086. 2*  0>  3d1  -1d3  x  -3d4
  2087. 2*  =<  3d1  -1d3  x  -3d3
  2088. 2*  =>  3d1  1d2  x  3d2
  2089. 2*  0<  3d1  1d2  x  3d3
  2090. 2*  0<=  5d1  1d1  x  5d2
  2091. 2*  >  5d1  1d1  x  5d1
  2092. 2*  0<=  -5d1  -1d1  x  5d2
  2093. 2*  >  -5d1  -1d1  x  5d1
  2094. 2*  <=0  7d1  1d1  x  7d2
  2095. 2*  >  7d1  1d1  x  7d1
  2096. 2*  =>  7d1  1d4  x  7d4
  2097. 2*  0<  7d1  1d4  x  7d5
  2098. ! Some overflow conditions, watching
  2099. ! round mode.
  2100. 2*  =>  Hm1  2  ox  H
  2101. 2*  0<  Hm1  2i1  ox  Hd1
  2102. 2*  =<  -3d2  Hm1  ox  -H
  2103. 2*  0>  Hm1  -4i5  ox  -Hd1
  2104. 2*  =>  -5d2  -Hm1  ox  H
  2105. 2*  0<  Hm1  6i1  ox  Hd1
  2106. 2*  =<  -7d7  Hm1  ox  -H
  2107. 2*  0>  Hm1  -8i3  ox  -Hd1
  2108. 2*  =>  -9i1  -Hm1  ox  H
  2109. 2*  0<  Hm1  6  ox  Hd1
  2110. 2*  =<  -9  Hm1  ox  -H
  2111. 2*  0>  Hm1  -2  ox  -Hd1
  2112. 2*  0<  -7  -Hm1  ox  Hd1
  2113. 2*  =>  Hm1  2  ox  H
  2114. 2*  0>  -5  Hm1  ox  -Hd1
  2115. 2*  0>  Hm1  -2  ox  -Hd1
  2116. 2*  =>  -3  -Hm1  ox  H
  2117. ! Heavy overflow conditions,
  2118. ! watching round mode.
  2119. 2*  =>  Hm1  Hm1  xo  H
  2120. 2*  =<  -Hd3  Hm1  xo  -H
  2121. 2*  =<  Hm1  -Hm2i4  xo  -H
  2122. 2*  =>  -Hm1i5  -Hm1i1  ox  H
  2123. 2*  =>  Hm1i9  Hd6  xo  H
  2124. 2*  =<  -Hm2d7  Hm1  xo  -H
  2125. 2*  =<  Hm1  -Hm2  xo  -H
  2126. 2*  =>  -Hd1  -Hd1  xo  H
  2127. 2*  0<  Hm1  Hm2i6  xo  Hd1
  2128. 2*  =<  -Hm1d9  Hm2i1  xo  -H
  2129. 2*  =<  Hm1  -Hm1  xo  -H
  2130. 2*  0<  -Hm2d7  -Hd1  xo  Hd1
  2131. 2*  =>  Hm1  Hd2  xo  H
  2132. 2*  0>  -Hm2  Hm1  xo  -Hd1
  2133. 2*  0>  Hm1i9  -Hm2i2  xo  -Hd1
  2134. 2*  =>  -Hd3  -Hm1i1  xo  H
  2135. ! Mixed bag overflow conditions,
  2136. ! watching round mode.  Tricky cases
  2137. ! require careful look at power series
  2138. ! expansion.  Example --  -Hmd1 * 1i1:
  2139. ! In single...
  2140. !  -(2^127 (1 - 2^-24)) * (1 + 2^-23) -->
  2141. !  -( 2^127 (1 + 2^-24 - 2^-47) ) -->
  2142. !  -2^127 except when rounding <, in which
  2143. !  case -( 2^127 (1 + 2^-23) ); that is,
  2144. !  -Hm or -Hmi1, respectively!
  2145. 2*  =0>  -Hm1d1  1i1  x  -Hm1
  2146. 2*  <  -Hm1d1  1i1  x  -Hm1i1
  2147. 2*  =0<  -1d1  -Hd1  x  Hd2
  2148. 2*  >  -1d1  -Hd1  x  Hd1
  2149. 2*  <  -Hm2d1  2i1  x  -Hm1i1
  2150. 2*  =0>  -Hm2d1  2i1  x  -Hm1
  2151. 2*  <=  Hm1d3  -2i8  xo  -H
  2152. 2*  >0  Hm1d3  -2i8  xo  -Hd1
  2153. 2*  =0<  -Hm2d7  -4d1  x  Hd8
  2154. 2*  >  -Hm2d7  -4d1  x  Hd7
  2155. 2*  =>  1i2  Hd2  xo  H
  2156. 2*  0<  1i2  Hd2  xo  Hd1
  2157. 2*  =<  Hm1i9  -6i2  xo  -H
  2158. 2*  0>  Hm1i9  -6i2  xo  -Hd1
  2159. 2*  =>  -Hd3  -3i1  xo  H
  2160. 2*  0<  -Hd3  -3i1  xo  Hd1
  2161. ! Exact and below denomalization threshold -- no underflow.
  2162. 2*  ALL  E  1d2  OK  Ed1
  2163. 2*  ALL  0i1  1  OK  0i1
  2164. 2*  ALL  1  -0i1  OK  -0i1
  2165. 2*  ALL  Ep1d2  1m1  OK  Ed1
  2166. 2*  ALL  -Ep1d4  -1m1  OK  Ed2
  2167. 2*  ALL  Ep1d2  -1m1  OK  -Ed1
  2168. 2*  ALL  -Ep1d4  1m1  OK  -Ed2
  2169. 2*  ALL  Ep1d8  1m1  OK  Ed4
  2170. 2*  ALL  0i8  1m3  OK  0i1
  2171. 2*  ALL  0i6  1m1  OK  0i3
  2172. 2*  ALL  -0i8  1m3  OK  -0i1
  2173. 2*  ALL  0i6  -1m1  OK  -0i3
  2174. ! Inexact, extreme underflows.
  2175. 2*  =0<  E  E  xu  0
  2176. 2*  =0<  -E  -E  xu  0
  2177. 2*  >  E  Ep1  xu  0i1
  2178. 2*  >  -Ep1  -Ep1  xu  0i1
  2179. 2*  =0>  -E  E  xu  -0
  2180. 2*  =0>  E  -E  xu  -0
  2181. 2*  <  -E  Ep1  xu  -0i1
  2182. 2*  <  E  -E  xu  -0i1
  2183. 2*  =0<  Ed1  Ed2  xu  0
  2184. 2*  =0<  -Ed1  -Ed2  xu  0
  2185. 2*  >  Ed1  Ed2  xu  0i1
  2186. 2*  >  -Ed1  -Ed2  xu  0i1
  2187. 2*  =0>  -Ed9  Ep1i3  xu  -0
  2188. 2*  =0>  Ed9  -Ep1i3  xu  -0
  2189. 2*  <  -Ed9  Ep1i3  xu  -0i1
  2190. 2*  <  Ed9  -Ep1i3  xu  -0i1
  2191. 2*  >  0i1  1m1  xu  0i1
  2192. 2*  =0<  0i1  1m1  xu  0
  2193. 2*  <  1m1  -0i1  xu  -0i1
  2194. 2*  =0>  1m1  -0i1  xu  -0
  2195. 2*  <0  0i1  1d1  xu  0
  2196. 2*  =>  0i1  1d1  xu  0i1
  2197. 2*  >  0i1  0i1  xu  0i1
  2198. 2*  =0<  0i1  0i1  xu  0
  2199. 2*  >0  -0i1  1d1  xu  -0
  2200. 2*  =<  0i1  -1d1  xu  -0i1
  2201. 2*  <  0i1  -0i1  xu  -0i1
  2202. 2*  =0>  -0i1  0i1  xu  -0
  2203. ! Underflow, barely.
  2204. 2*  0<  Ep1d1  1m1  xu  Ed1
  2205. 2*  0<  -Ep1d1  -1m1  xu  Ed1
  2206. 2*  0>  -Ep1d1  1m1  xu  -Ed1
  2207. 2*  >=  Ep1d1  1m1  xu  E
  2208. 2*  <=  Ep1d1  -1m1  xu  -E
  2209. 2*  0<  Ed1  1i1  xu  Ed1
  2210. 2*  0>  Ed1  -1i1  xu  -Ed1
  2211. 2*  0<  Ei1  1d6  xu  Ed3
  2212. 2*  >  Ed2  1d4  xu  Ed3
  2213. 2*  0<  Ed4  1i1  xu  Ed4
  2214. 2*  0<  Ei1  1d2  xu  Ed1
  2215. ! Underflow, unless detected as accuracy
  2216. ! loss due to denormalization.
  2217. 2*  >=  Ed2  1i1  xv  Ed1
  2218. 2*  <=  Ed2  -1i1  xv  -Ed1
  2219. 2*  >=  Ed8  1i1  xv  Ed7
  2220. 2*  <=  -Ed9  1i1  xv  -Ed8
  2221. 2*  <=  Ed8  -1i1  xv  -Ed7
  2222. 2*  =>  Ei1  1d6  xv  Ed2
  2223. 2*  <=0  Ed2  1d4  xv  Ed4
  2224. ! Underflow, only if tininess is detected
  2225. ! before rounding.
  2226. 2*  >=  Ed1  1i1  xw  E
  2227. 2*  <=  -Ed1  1i1  xw  -E
  2228. 2*  >=  Ed8  1i8  xw  E
  2229. 2*  <=  Ed8  -1i8  xw  -E
  2230. 2*  >=  Ei1  1d2  xw  E
  2231. 2*  >=  Ei2  1d4  xw  E
  2232. ! NaN operands.
  2233. 2*  ALL  Q  0  OK  Q
  2234. 2*  ALL  Q  -0  OK  Q
  2235. 2*  ALL  0  Q  OK  Q
  2236. 2*  ALL  -0  Q  OK  Q
  2237. 2*  ALL  Q  1  OK  Q
  2238. 2*  ALL  Q  -1  OK  Q
  2239. 2*  ALL  1  Q  OK  Q
  2240. 2*  ALL  -1  Q  OK  Q
  2241. 2*  ALL  Ed1  Q  OK  Q
  2242. 2*  ALL  -Ed1 Q  OK  Q
  2243. 2*  ALL  Q  Ed1  OK  Q
  2244. 2*  ALL  Q  -Ed1 OK  Q
  2245. 2*  ALL  Q  0i1  OK  Q
  2246. 2*  ALL  Q  -0i1  OK  Q
  2247. 2*  ALL  0i1  Q  OK  Q
  2248. 2*  ALL  -0i1  Q  OK  Q
  2249. 2*  ALL  Q  Hd1  OK  Q
  2250. 2*  ALL  Q  -Hd1 OK  Q
  2251. 2*  ALL  Hd1  Q  OK  Q
  2252. 2*  ALL  -Hd1 Q  OK  Q
  2253. 2*  ALL  Q  H  OK  Q
  2254. 2*  ALL  Q  -H  OK  Q
  2255. 2*  ALL  H  Q  OK  Q
  2256. 2*  ALL  -H  Q  OK  Q
  2257. 2*  ALL  Q  Q  OK  Q
  2258. 2*  ALL  S  0  i  Q
  2259. 2*  ALL  S  -0  i  Q
  2260. 2*  ALL  0  S  i  Q
  2261. 2*  ALL  -0  S  i  Q
  2262. 2*  ALL  S  1  i  Q
  2263. 2*  ALL  S  -1  i  Q
  2264. 2*  ALL  1  S  i  Q
  2265. 2*  ALL  -1  S  i  Q
  2266. 2*  ALL  Ed1  S  i  Q
  2267. 2*  ALL  -Ed1 S  i  Q
  2268. 2*  ALL  S  Ed1  i  Q
  2269. 2*  ALL  S  -Ed1 i  Q
  2270. 2*  ALL  S  0i1  i  Q
  2271. 2*  ALL  S  -0i1  i  Q
  2272. 2*  ALL  0i1  S  i  Q
  2273. 2*  ALL  -0i1  S  i  Q
  2274. 2*  ALL  S  Hd1  i  Q
  2275. 2*  ALL  S  -Hd1 i  Q
  2276. 2*  ALL  Hd1  S  i  Q
  2277. 2*  ALL  -Hd1 S  i  Q
  2278. 2*  ALL  S  H  i  Q
  2279. 2*  ALL  S  -H  i  Q
  2280. 2*  ALL  H  S  i  Q
  2281. 2*  ALL  -H  S  i  Q
  2282. 2*  ALL  Q  S  i  Q
  2283. 2*  ALL  S  Q  i  Q
  2284. 2*  ALL  S  S  i  Q
  2285. !
  2286. ! Negate test vectors:
  2287. !
  2288. 2~  ALL  1  0  OK  -1
  2289. 2~  ALL  -1  0  OK  1
  2290. 2~  ALL  Ed1  0  OK  -Ed1
  2291. 2~  ALL  -Ed1  0  OK  Ed1
  2292. 2~  ALL  0i1  0  OK  -0i1
  2293. 2~  ALL  -0i1  0  OK  0i1
  2294. 2~  ALL  Hm1  0  OK  -Hm1
  2295. 2~  ALL  -Hm1  0  OK  Hm1
  2296. 2~  ALL  Hd1  0  OK  -Hd1
  2297. 2~  ALL  -Hd1  0  OK  Hd1
  2298. 2~  ALL  H  0  OK  -H
  2299. 2~  ALL  -H  0  OK  H
  2300. 2~  ALL  0  0  OK  -0
  2301. 2~  ALL  -0  0  OK  0
  2302. ! NaNs -- FPTEST checks only that
  2303. ! NaNs are produced and with no exceptions.
  2304. 2~  ALL  -Q  0  OK  Q
  2305. 2~  ALL  Q  0  OK  -Q
  2306. 2~  ALL  -S  0  OK  S
  2307. 2~  ALL  S  0  OK  -S
  2308. !
  2309. ! Nextafter Test Vectors:
  2310. !
  2311. ! From 1.
  2312. 2N  ALL  1  2  OK  1i1
  2313. 2N  ALL  1  0  OK  1d1
  2314. 2N  ALL  1  -0  OK  1d1
  2315. 2N  ALL  1  1i1  OK  1i1
  2316. 2N  ALL  1  1d1  OK  1d1
  2317. 2N  ALL  1  Hm1  OK  1i1
  2318. 2N  ALL  1  Hd1  OK  1i1
  2319. 2N  ALL  1  1  OK  1
  2320. 2N  ALL  1  -Hd1  OK  1d1
  2321. 2N  ALL  1  E  OK  1d1
  2322. 2N  ALL  1  Ed1  OK  1d1
  2323. 2N  ALL  1  0i1  OK  1d1
  2324. 2N  ALL  1  -1  OK  1d1
  2325. 2N  ALL  1  -H  OK  1d1
  2326. 2N  ALL  1  H  OK  1i1
  2327. ! From -1.
  2328. 2N  ALL  -1  -2  OK  -1i1
  2329. 2N  ALL  -1  0  OK  -1d1
  2330. 2N  ALL  -1  -0  OK  -1d1
  2331. 2N  ALL  -1  -1i1  OK  -1i1
  2332. 2N  ALL  -1  -1d1  OK  -1d1
  2333. 2N  ALL  -1  Hm1  OK  -1d1
  2334. 2N  ALL  -1  Hd1  OK  -1d1
  2335. 2N  ALL  -1  1  OK  -1d1
  2336. 2N  ALL  -1  -Hd1  OK  -1i1
  2337. 2N  ALL  -1  E  OK  -1d1
  2338. 2N  ALL  -1  Ed1  OK  -1d1
  2339. 2N  ALL  -1  0i1  OK  -1d1
  2340. 2N  ALL  -1  -1  OK  -1
  2341. 2N  ALL  -1  H  OK  -1d1
  2342. 2N  ALL  -1  -H  OK  -1i1
  2343. ! From 1 + 1ulp of 1.
  2344. 2N  ALL  1i1  2  OK  1i2
  2345. 2N  ALL  1i1  0  OK  1
  2346. 2N  ALL  1i1  1i2  OK  1i2
  2347. 2N  ALL  1i1  1  OK  1
  2348. 2N  ALL  1i1  Hm1  OK  1i2
  2349. 2N  ALL  1i1  Hd1  OK  1i2
  2350. 2N  ALL  1i1  -1i1  OK  1
  2351. 2N  ALL  1i1  -Hd1  OK  1
  2352. 2N  ALL  1i1  E  OK  1
  2353. 2N  ALL  1i1  Ed1  OK  1
  2354. 2N  ALL  1i1  0i1  OK  1
  2355. 2N  ALL  1i1  1i1  OK  1i1
  2356. 2N  ALL  1i1  H  OK  1i2
  2357. 2N  ALL  1i1  -H  OK  1
  2358. ! From 1 - 1ulp- of 1.
  2359. 2N  ALL  1d1  2  OK  1
  2360. 2N  ALL  1d1  0  OK  1d2
  2361. 2N  ALL  1d1  1  OK  1
  2362. 2N  ALL  1d1  1d2  OK  1d2
  2363. 2N  ALL  1d1  Hm1  OK  1
  2364. 2N  ALL  1d1  Hd1  OK  1
  2365. 2N  ALL  1d1  -1d1  OK  1d2
  2366. 2N  ALL  1d1  -Hd1  OK  1d2
  2367. 2N  ALL  1d1  E  OK  1d2
  2368. 2N  ALL  1d1  Ed1  OK  1d2
  2369. 2N  ALL  1d1  0i1  OK  1d2
  2370. 2N  ALL  1d1  1d1  OK  1d1
  2371. 2N  ALL  1d1  H  OK  1
  2372. 2N  ALL  1d1  -H  OK  1d2
  2373. ! From largest power of 2.
  2374. 2N  ALL  Hm1  Hm2  OK  Hm1d1
  2375. 2N  ALL  Hm1  0  OK  Hm1d1
  2376. 2N  ALL  Hm1  Hm1d1  OK  Hm1d1
  2377. 2N  ALL  Hm1  Hm1  OK  Hm1
  2378. 2N  ALL  Hm1  Hd1  OK  Hm1i1
  2379. 2N  ALL  Hm1  -Hm1  OK  Hm1d1
  2380. 2N  ALL  Hm1  -Hd1  OK  Hm1d1
  2381. 2N  ALL  Hm1  E  OK  Hm1d1
  2382. 2N  ALL  Hm1  Ed1  OK  Hm1d1
  2383. 2N  ALL  Hm1  0i1  OK  Hm1d1
  2384. 2N  ALL  Hm1  H  OK  Hm1i1
  2385. 2N  ALL  Hm1  -H  OK  Hm1d1
  2386. ! From largest number.
  2387. 2N  ALL  Hd1  Hm1  OK  Hd2  
  2388. 2N  ALL  Hd1  0  OK  Hd2
  2389. 2N  ALL  Hd1  -0  OK  Hd2
  2390. 2N  ALL  Hd1  Hd2  OK  Hd2
  2391. 2N  ALL  Hd1  Hd1  OK  Hd1
  2392. 2N  ALL  Hd1  -Hd1  OK  Hd2  
  2393. 2N  ALL  Hd1  E  OK  Hd2
  2394. 2N  ALL  Hd1  Ed1  OK  Hd2
  2395. 2N  ALL  Hd1  0i1  OK  Hd2
  2396. 2N  ALL  Hd1  H  ox  H
  2397. 2N  ALL  Hd1  -H  OK  Hd2
  2398. 2N  ALL  -Hd1  -H  ox  -H
  2399. 2N  ALL  -Hd1  H  OK  -Hd2
  2400. ! From smallest normalized number.
  2401. 2N  ALL  E  2  OK  Ei1
  2402. 2N  ALL  E  0  xu  Ed1
  2403. 2N  ALL  E  -0  xu  Ed1
  2404. 2N  ALL  E  Ei1  OK  Ei1
  2405. 2N  ALL  E  Ed1  xu  Ed1
  2406. 2N  ALL  E  Hm1  OK  Ei1
  2407. 2N  ALL  E  Hd1  OK  Ei1
  2408. 2N  ALL  E  -E  xu  Ed1
  2409. 2N  ALL  E  -Hd1  xu  Ed1
  2410. 2N  ALL  E  E  OK  E  
  2411. 2N  ALL  E  0i1  xu  Ed1
  2412. 2N  ALL  E  H  OK  Ei1
  2413. 2N  ALL  E  -H  xu  Ed1
  2414. ! From largest denormalized number.
  2415. 2N  ALL  Ed1  2  OK  E  
  2416. 2N  ALL  Ed1  0  xu  Ed2
  2417. 2N  ALL  Ed1  E  OK  E
  2418. 2N  ALL  Ed1  Ed2  xu  Ed2
  2419. 2N  ALL  Ed1  Hm1  OK  E
  2420. 2N  ALL  Ed1  Hd1  OK  E
  2421. 2N  ALL  Ed1  -Ed1  xu  Ed2
  2422. 2N  ALL  Ed1  -Hd1  xu  Ed2
  2423. 2N  ALL  Ed1  Ed1  OK  Ed1
  2424. 2N  ALL  Ed1  0i1  xu  Ed2
  2425. 2N  ALL  Ed1  H  OK  E
  2426. 2N  ALL  Ed1  -H  xu  Ed2
  2427. 2N  ALL  -Ed1  -2  OK  -E  
  2428. 2N  ALL  -Ed1  -0  xu  -Ed2
  2429. 2N  ALL  -Ed1  -E  OK  -E
  2430. 2N  ALL  -Ed1  -Ed2  xu  -Ed2
  2431. 2N  ALL  -Ed1  -Hm1  OK  -E
  2432. 2N  ALL  -Ed1  -Hd1  OK  -E
  2433. 2N  ALL  -Ed1  Ed1  xu  -Ed2
  2434. 2N  ALL  -Ed1  Hd1  xu  -Ed2
  2435. 2N  ALL  -Ed1  -Ed1  OK  -Ed1
  2436. 2N  ALL  -Ed1  -0i1  xu  -Ed2
  2437. 2N  ALL  -Ed1  -H  OK  -E
  2438. 2N  ALL  -Ed1  H  xu  -Ed2
  2439. ! From smallest denormalized number.
  2440. 2N  ALL  0i1  2  xu  0i2
  2441. 2N  ALL  0i1  0  xu  0
  2442. 2N  ALL  0i1  0i2  xu  0i2
  2443. 2N  ALL  0i1  Hm1  xu  0i2
  2444. 2N  ALL  -0i1  -0  xu  -0
  2445. 2N  ALL  -0i1  -0i2  xu  -0i2
  2446. 2N  ALL  -0i1  -Hm1  xu  -0i2
  2447. 2N  ALL  0i1  Hd1  xu  0i2
  2448. 2N  ALL  0i1  0  xu  0
  2449. 2N  ALL  0i1  -0  xu  0
  2450. 2N  ALL  -0i1  -0  xu  -0
  2451. 2N  ALL  -0i1  0  xu  -0
  2452. 2N  ALL  0i1  -Hd1  xu  0
  2453. 2N  ALL  0i1  E  xu  0i2
  2454. 2N  ALL  0i1  Ed1  xu  0i2
  2455. 2N  ALL  0i1  0i1  OK  0i1
  2456. 2N  ALL  0i1  H  xu  0i2
  2457. 2N  ALL  0i1  -H  xu  0
  2458. ! From 0.
  2459. 2N  ALL  0  2  xu  0i1
  2460. 2N  ALL  0  0  OK  0
  2461. 2N  ALL  0  -0  OK  0
  2462. 2N  ALL  0  0i1  xu  0i1
  2463. 2N  ALL  0  -0i1  xu  -0i1
  2464. 2N  ALL  0  Hm1  xu  0i1
  2465. 2N  ALL  0  Hd1  xu  0i1
  2466. 2N  ALL  0  -Hd1  xu  -0i1
  2467. 2N  ALL  0  E  xu  0i1
  2468. 2N  ALL  0  Ed1  xu  0i1
  2469. 2N  ALL  0  H  xu  0i1
  2470. 2N  ALL  0  -H  xu  -0i1
  2471. ! From -0.
  2472. 2N  ALL  -0  2  xu  0i1
  2473. 2N  ALL  -0  -0  OK  -0
  2474. 2N  ALL  -0  0  OK  -0
  2475. 2N  ALL  -0  0i1  xu  0i1
  2476. 2N  ALL  -0  -0i1  xu  -0i1
  2477. 2N  ALL  -0  Hm1  xu  0i1
  2478. 2N  ALL  -0  Hd1  xu  0i1
  2479. 2N  ALL  -0  -Hd1  xu  -0i1
  2480. 2N  ALL  -0  E  xu  0i1
  2481. 2N  ALL  -0  Ed1  xu  0i1
  2482. 2N  ALL  -0  H  xu  0i1
  2483. 2N  ALL  -0  -H  xu  -0i1
  2484. ! From infinity.
  2485. 2N  ALL  H  2  OK  Hd1
  2486. 2N  ALL  H  0  OK  Hd1
  2487. 2N  ALL  H  -0  OK  Hd1
  2488. 2N  ALL  H  Hm1  OK  Hd1
  2489. 2N  ALL  H  Hd1  OK  Hd1
  2490. 2N  ALL  H  -Hd1  OK  Hd1
  2491. 2N  ALL  H  E  OK  Hd1
  2492. 2N  ALL  H  Ed1  OK  Hd1
  2493. 2N  ALL  H  0i1  OK  Hd1
  2494. 2N  ALL  H  H  OK  H
  2495. 2N  ALL  H  -H  OK  Hd1
  2496. 2N  ALL  -H  2  OK  -Hd1
  2497. 2N  ALL  -H  0  OK  -Hd1
  2498. 2N  ALL  -H  -0  OK  -Hd1
  2499. 2N  ALL  -H  -Hm1  OK  -Hd1
  2500. 2N  ALL  -H  -Hd1  OK  -Hd1
  2501. 2N  ALL  -H  Hd1  OK  -Hd1
  2502. 2N  ALL  -H  -E  OK  -Hd1
  2503. 2N  ALL  -H  -Ed1  OK  -Hd1
  2504. 2N  ALL  -H  -0i1  OK  -Hd1
  2505. 2N  ALL  -H  H  OK  -Hd1
  2506. 2N  ALL  -H  -H  OK  -H
  2507. ! Next-afters.
  2508. 2N  ALL  Q  0  OK  Q
  2509. 2N  ALL  Q  -0  OK  Q
  2510. 2N  ALL  0  Q  OK  Q
  2511. 2N  ALL  -0  Q  OK  Q
  2512. 2N  ALL  Q  1  OK  Q
  2513. 2N  ALL  Q  -1  OK  Q
  2514. 2N  ALL  1  Q  OK  Q
  2515. 2N  ALL  -1  Q  OK  Q
  2516. 2N  ALL  Ed1  Q  OK  Q
  2517. 2N  ALL  -Ed1 Q  OK  Q
  2518. 2N  ALL  Q  Ed1  OK  Q
  2519. 2N  ALL  Q  -Ed1 OK  Q
  2520. 2N  ALL  Q  0i1  OK  Q
  2521. 2N  ALL  Q  -0i1  OK  Q
  2522. 2N  ALL  0i1  Q  OK  Q
  2523. 2N  ALL  -0i1  Q  OK  Q
  2524. 2N  ALL  Q  Hd1  OK  Q
  2525. 2N  ALL  Q  -Hd1 OK  Q
  2526. 2N  ALL  Hd1  Q  OK  Q
  2527. 2N  ALL  -Hd1 Q  OK  Q
  2528. 2N  ALL  Q  H  OK  Q
  2529. 2N  ALL  Q  -H  OK  Q
  2530. 2N  ALL  H  Q  OK  Q
  2531. 2N  ALL  -H  Q  OK  Q
  2532. 2N  ALL  Q  Q  OK  Q
  2533. 2N  ALL  S  0  i  Q
  2534. 2N  ALL  S  -0  i  Q
  2535. 2N  ALL  0  S  i  Q
  2536. 2N  ALL  -0  S  i  Q
  2537. 2N  ALL  S  1  i  Q
  2538. 2N  ALL  S  -1  i  Q
  2539. 2N  ALL  1  S  i  Q
  2540. 2N  ALL  -1  S  i  Q
  2541. 2N  ALL  Ed1  S  i  Q
  2542. 2N  ALL  -Ed1 S  i  Q
  2543. 2N  ALL  S  Ed1  i  Q
  2544. 2N  ALL  S  -Ed1 i  Q
  2545. 2N  ALL  S  0i1  i  Q
  2546. 2N  ALL  S  -0i1  i  Q
  2547. 2N  ALL  0i1  S  i  Q
  2548. 2N  ALL  -0i1  S  i  Q
  2549. 2N  ALL  S  Hd1  i  Q
  2550. 2N  ALL  S  -Hd1 i  Q
  2551. 2N  ALL  Hd1  S  i  Q
  2552. 2N  ALL  -Hd1 S  i  Q
  2553. 2N  ALL  S  H  i  Q
  2554. 2N  ALL  S  -H  i  Q
  2555. 2N  ALL  H  S  i  Q
  2556. 2N  ALL  -H  S  i  Q
  2557. 2N  ALL  Q  S  i  Q
  2558. 2N  ALL  S  Q  i  Q
  2559. 2N  ALL  S  S  i  Q
  2560. ! Exact cases.
  2561. 2I  ALL  1  0  OK  1
  2562. 2I  ALL  Hd1  0  OK  Hd1
  2563. 2I  ALL  -1  0  OK  -1
  2564. 2I  ALL  -Hd1 0  OK  -Hd1
  2565. 2I  ALL  9p9  0  OK  9p9
  2566. 2I  ALL  -9p9  0  OK  -9p9
  2567. 2I  ALL  0  0  OK  0
  2568. 2I  ALL  -0  0  OK  -0
  2569. 2I  ALL  Hm9  0  OK  Hm9
  2570. 2I  ALL  Hm9d1  0  OK  Hm9d1
  2571. 2I  ALL  Hm9d9  0  OK  Hm9d9
  2572. 2I  ALL  Hm9d9d9 0  OK  Hm9d9d9
  2573. 2I  ALL  -Hm9  0  OK  -Hm9
  2574. 2I  ALL  -Hm9d1  0  OK  -Hm9d1
  2575. 2I  ALL  -Hm9d9  0  OK  -Hm9d9
  2576. 2I  ALL  -Hm9d9d9 0  OK  -Hm9d9d9
  2577. ! Infinities.
  2578. 2I  ALL  H  0  OK  H
  2579. 2I  ALL  -H  0  OK  -H
  2580. ! Inexact cases.
  2581. 2I  =0<  1i1  0  x  1
  2582. 2I  >  1i1  0  x  2
  2583. 2I  =>  1d1  0  x  1
  2584. 2I  0<  1d1  0  x  0
  2585. 2I  =<  -1d1  0  x  -1
  2586. 2I  0>  -1d1  0  x  -0
  2587. 2I  =0>  -1i1  0  x  -1
  2588. 2I  <  -1i1  0  x  -2
  2589. 2I  >  E  0  x  1
  2590. 2I  =0<  E  0  x  0
  2591. 2I  <  -E  0  x  -1
  2592. 2I  =0>  -E  0  x  -0
  2593. 2I  >  Ed1  0  x  1
  2594. 2I  =0<  Ed1  0  x  0
  2595. 2I  <  -Ed1  0  x  -1
  2596. 2I  =0>  -Ed1  0  x  -0
  2597. 2I  =0<  0i1  0  x  0
  2598. 2I  >  0i1  0  x  1
  2599. 2I  =0>  -0i1  0  x  -0
  2600. 2I  <  -0i1  0  x  -1
  2601. 2I  >  8i1  0  x  9
  2602. 2I  0=<  8i1  0  x  8
  2603. 2I  <  -8i1  0  x  -9
  2604. 2I  0=>  -8i1  0  x  -8
  2605. 2I  =>  8d1  0  x  8
  2606. 2I  0<  8d1  0  x  7
  2607. 2I  =<  -8d1  0  x  -8
  2608. 2I  0>  -8d1  0  x  -7
  2609. 2I  =>  1p9d8 0  x  1p9
  2610. 2I  =<  -1p9d8 0  x  -1p9
  2611. 2I  =>  1p9p9d1 0  x  1p9p9
  2612. 2I  =<  -1p9p9d1 0  x  -1p9p9
  2613. 2I  =<0  1p9i8 0  x  1p9
  2614. 2I  =>0  -1p9i8 0  x  -1p9
  2615. 2I  =<0  1p9p9i1 0  x  1p9p9
  2616. 2I  =>0  -1p9p9i1 0  x  -1p9p9
  2617. ! Half-way cases.
  2618. 2I  >  1m1  0  x  1
  2619. 2I  =0<  1m1  0  x  0
  2620. 2I  <  -1m1  0  x  -1
  2621. 2I  =0>  -1m1  0  x  -0
  2622. 2I  >=  3m1  0  x  2
  2623. 2I  <0  3m1  0  x  1
  2624. 2I  >0  -3m1  0  x  -1
  2625. 2I  =<  -3m1  0  x  -2
  2626. 2I  >  9m1  0  x  5
  2627. 2I  =0<  9m1  0  x  4
  2628. 2I  <  -9m1  0  x  -5
  2629. 2I  =0>  -9m1  0  x  -4
  2630. 2I  =  1m1i1  0  x  1
  2631. 2I  =  -1m1i1  0  x  -1
  2632. 2I  =  3m1d1  0  x  1
  2633. 2I  =  -3m1d1  0  x  -1
  2634. 2I  =  9m1i1 0  x  5
  2635. 2I  =  -9m1i1 0  x  -5
  2636. ! NAN operand.
  2637. 2I  ALL  Q  0  OK  Q
  2638. 2I  ALL  S  0  i  Q
  2639. ! Scalb test vectors.  Those with
  2640. ! 2nd arguments that overflow
  2641. ! the integer format are commented
  2642. ! out, since the response to
  2643. ! floating->integer conversion on
  2644. ! overflow is system-dependent
  2645. !
  2646. ! Warm ups.
  2647. 2S  ALL  1  1  OK  2
  2648. 2S  ALL  -1  1  OK  -2
  2649. 2S  ALL  1  -1  OK  1m1
  2650. 2S  ALL  -1  -1  OK  -1m1
  2651. 2S  ALL  1  3  OK  8
  2652. 2S  ALL  1  -3  OK  1m3
  2653. 2S  ALL  9  9  OK  9p9
  2654. 2S  ALL  9  -9  OK  9m9
  2655. 2S  ALL  7  8  OK  7p8
  2656. 2S  ALL  -7  -8  OK  -7m8
  2657. 2S  ALL  5  0  OK  5
  2658. 2S  ALL  5  -0  OK  5
  2659. 2S  ALL  -5  -0  OK  -5
  2660. ! Big numbers.
  2661. 2S  ALL  Hm1  -8  OK  Hm9
  2662. 2S  ALL  Hm9  8  OK  Hm1
  2663. 2S  ALL  Hd1  -9  OK  Hd1m9
  2664. 2S  ALL  Hd1m9  9  OK  Hd1
  2665. 2S  ALL  -Hd1  -9  OK  -Hd1m9
  2666. 2S  ALL  -Hd1m9  9  OK  -Hd1
  2667. 2S  ALL  Hd1  0  OK  Hd1
  2668. 2S  ALL  Hd1  -0  OK  Hd1
  2669. ! Overflows.
  2670. 2S  >=  Hm1  1  xo  H
  2671. 2S  <=  -Hm1  1  xo  -H
  2672. 2S  s>=  1  1p7  xo  H
  2673. 2S  s<=  -1  1p7  xo  -H
  2674. ! 2S  >=  1  Hm9  xo  H
  2675. 2S  ds>=  1  1p9p5  xo  H
  2676. ! 2S  >=  1  Hd1  xo  H
  2677. 2S  ds<=  -1  1p9p5  xo  -H
  2678. ! 2S  <=  -1  Hd1  xo  -H
  2679. ! 2S  >=  1m9  Hm9  xo  H
  2680. 2S  >=  Hd1  1  xo  H
  2681. 2S  >=  Hm9  9  xo  H
  2682. 2S  ds>=  E  1p9p5  xo  H
  2683. 2S  ds>=  Ed1  1p9p5  xo  H
  2684. 2S  ds>=  0i1  1p9p5  xo  H
  2685. 2S  ds<=  -0i1  1p9p5  xo  -H
  2686. ! 2S  >=  E  Hm1  xo  H
  2687. ! 2S  >=  Ed1  Hm1  xo  H
  2688. ! 2S  >=  0i1  Hm1  xo  H
  2689. ! 2S  <=  -0i1  Hm1  xo  -H
  2690. 2S  <0  Hm1  1  xo  Hd1
  2691. 2S  >0  -Hm1  1  xo  -Hd1
  2692. 2S  s<0  1  1p7  xo  Hd1
  2693. 2S  s>0  -1  1p7  xo  -Hd1
  2694. ! 2S  <0  1  Hm9  xo  Hd1
  2695. 2S  ds<0  1  1p9p5  xo  Hd1
  2696. ! 2S  <0  1  Hd1  xo  Hd1
  2697. 2S  ds>0  -1  1p9p5  xo  -Hd1
  2698. ! 2S  >0  -1  Hd1  xo  -Hd1
  2699. ! 2S  <0  1m9  Hm9  xo  Hd1
  2700. 2S  <0  Hd1  1  xo  Hd1
  2701. 2S  <0  Hm9  9  xo  Hd1
  2702. 2S  ds<0  E  1p9p5  xo  Hd1
  2703. 2S  ds<0  Ed1  1p9p5  xo  Hd1
  2704. 2S  ds<0  0i1  1p9p5  xo  Hd1
  2705. 2S  ds>0  -0i1  1p9p5  xo  -Hd1
  2706. ! 2S  <0  E  Hm1  xo  Hd1
  2707. ! 2S  <0  Ed1  Hm1  xo  Hd1
  2708. ! 2S  <0  0i1  Hm1  xo  Hd1
  2709. ! 2S  >0  -0i1  Hm1  xo  -Hd1
  2710. ! Tiny operand.
  2711. 2S  s  E  1p7  OK  4
  2712. 2S  s  Ed1  1p7  OK  1d2p2
  2713. 2S  s  -Ed1  1p7  OK  -1d2p2
  2714. 2S  d  E  1p7p3  OK  4
  2715. 2S  d  Ed1  1p7p3  OK  1d2p2
  2716. 2S  d  -Ed1  1p7p3  OK  -1d2p2
  2717. 2S  ALL  0i1  1  OK  0i2
  2718. 2S  ALL  -0i1  1  OK  -0i2
  2719. 2S  ALL  0i2  -1  OK  0i1
  2720. 2S  ALL  0i1  3  OK  0i8
  2721. 2S  ALL  0i8  -3  OK  0i1
  2722. 2S  ALL  Ed1  1  OK  Ep1d2
  2723. 2S  ALL  Ep1d2  -1  OK  Ed1
  2724. 2S  ALL  Ed1  0  OK  Ed1
  2725. 2S  ALL  Ed1  -0  OK  Ed1
  2726. ! Underflows.
  2727. 2S  <=0  0i1  -1  xu  0
  2728. 2S  >  0i1  -1  xu  0i1
  2729. 2S  >=0  -0i1  -1  xu  -0
  2730. 2S  <  -0i1  -1  xu  -0i1
  2731. 2S  <0  0i3  -2  xu  0
  2732. 2S  =>  0i3  -2  xu  0i1
  2733. 2S  <=0  0i9  -3  xu  0i1
  2734. 2S  >  0i9  -3  xu  0i2
  2735. 2S  =>  0i3  -1  xu  0i2
  2736. 2S  0<  0i3  -1  xu  0i1
  2737. 2S  >=  Ep1d1  -1  xu  E
  2738. 2S  0<  Ep1d1  -1  xu  Ed1
  2739. 2S  >=  Ep9d1  -9  xu  E
  2740. 2S  0<  Ep9d1  -9  xu  Ed1
  2741. 2S  <=0ds  1  -1p9p5  xu  0
  2742. 2S  >ds  1  -1p9p5  xu  0i1
  2743. ! 2S  <=0  1  -Hm1  xu  0
  2744. ! 2S  >  1  -Hm1  xu  0i1
  2745. 2S  <=  -Ep9d1  -9  xu  -E
  2746. 2S  0>  -Ep9d1  -9  xu  -Ed1
  2747. 2S  >=0ds  -1  -1p9p5  xu  -0
  2748. 2S  <ds  -1  -1p9p5  xu  -0i1
  2749. 2S  <=0ds  E  -1p9p5  xu  0
  2750. 2S  >ds  E  -1p9p5  xu  0i1
  2751. 2S  <=0ds  0i1  -1p9p5  xu  0
  2752. 2S  >ds  0i1  -1p9p5  xu  0i1
  2753. 2S  >=0ds  -0i1  -1p9p5  xu  -0
  2754. 2S  <ds  -0i1  -1p9p5  xu  -0i1
  2755. ! 2S  >=0  -1  -Hm1  xu  -0
  2756. ! 2S  <  -1  -Hm1  xu  -0i1
  2757. ! 2S  <=0  E  -Hm1  xu  0
  2758. ! 2S  >  E  -Hm1  xu  0i1
  2759. ! 2S  <=0  0i1  -Hd1  xu  0
  2760. ! 2S  >  0i1  -Hd1  xu  0i1
  2761. ! 2S  >=0  -0i1  -Hd1  xu  -0
  2762. ! 2S  <  -0i1  -Hd1  xu  -0i1
  2763. ! Infinity operands.
  2764. 2S  ALL  H  0  OK  H
  2765. 2S  ALL  H  -0  OK  H
  2766. 2S  ALL  -H  0  OK  -H
  2767. 2S  ALL  -H  -0  OK  -H
  2768. 2S  ALL  H  1  OK  H
  2769. 2S  ALL  H  1p9p5  OK  H
  2770. 2S  ALL  H  -1p9p5  OK  H
  2771. 2S  ALL  -H  1p9p5  OK  -H
  2772. 2S  ALL  -H  -1p9p5  OK  -H
  2773. ! 2S  ALL  H  Hd1  OK  H
  2774. ! 2S  ALL  H  -Hd1  OK  H
  2775. ! 2S  ALL  -H  Hd1  OK  -H
  2776. ! 2S  ALL  -H  -Hd1  OK  -H
  2777. ! 2S  ALL  1  H  OK  H
  2778. ! 2S  ALL  Hd1  H  OK  H
  2779. ! 2S  ALL  0i1  H  OK  H
  2780. ! 2S  ALL  H  H  OK  H
  2781. ! 2S  ALL  -H  H  OK  -H
  2782. ! 2S  ALL  H  -H  i  Q 
  2783. ! 2S  ALL  0  H  i  Q 
  2784. ! Zeros.
  2785. 2S  ALL  0  1  OK  0
  2786. 2S  ALL  0  1p9p5  OK  0
  2787. 2S  ALL  0  -1p9p5  OK  0
  2788. ! 2S  ALL  0  Hd1  OK  0
  2789. ! 2S  ALL  0  -Hd1  OK  0
  2790. 2S  ALL  0  0  OK  0
  2791. 2S  ALL  0  -0  OK  0
  2792. 2S  ALL  -0  1  OK  -0
  2793. ! 2S  ALL  -0  Hd1  OK  -0
  2794. ! 2S  ALL  -0  -Hd1  OK  -0
  2795. 2S  ALL  -0  -0  OK  -0
  2796. 2S  ALL  -0  0  OK  -0
  2797. ! NaNs.
  2798. 2S  ALL  Q  1  OK  Q
  2799. 2S  ALL  Q  1p9p5  OK  Q
  2800. 2S  ALL  Q  -1p9p5  OK  Q
  2801. ! 2S  ALL  Q  H  OK  Q
  2802. ! 2S  ALL  Q  -Hd1  OK  Q
  2803. ! 2S  ALL  Q  H  OK  Q
  2804. ! 2S  ALL  Q  -Hd1  OK  Q
  2805. ! 2S  ALL  Q  -H  OK  Q
  2806. ! 2S  ALL  Q  Hd1  OK  Q
  2807. 2S  ALL  Q  0  OK  Q
  2808. ! 2S  ALL  Q  Q  OK  Q
  2809. ! 2S  ALL  1  Q  OK  Q
  2810. ! 2S  ALL  H  Q  OK  Q
  2811. ! 2S  ALL  -H  Q  OK  Q
  2812. ! 2S  ALL  0  Q  OK  Q
  2813. 2S  ALL  S  1  i  Q
  2814. 2S  ALL  S  1p9p5  i  Q
  2815. 2S  ALL  S  -1p9p5  i  Q
  2816. 2S  ALL  S  1p9p5  i  Q
  2817. 2S  ALL  S  -1p9p5  i  Q
  2818. ! 2S  ALL  S  H  i  Q
  2819. ! 2S  ALL  S  -Hd1  i  Q
  2820. ! 2S  ALL  S  -H  i  Q
  2821. ! 2S  ALL  S  Hd1  i  Q
  2822. 2S  ALL  S  0  i  Q
  2823. ! 2S  ALL  S  S  i  Q
  2824. ! 2S  ALL  Q  S  i  Q
  2825. ! 2S  ALL  S  Q  i  Q
  2826. ! 2S  ALL  1  S  i  Q
  2827. ! 2S  ALL  H  S  i  Q
  2828. ! 2S  ALL  -H  S  i  Q
  2829. ! 2S  ALL  0  S  i  Q
  2830. ! First a few trivial cases...
  2831. 2V  ALL  1  0  OK  1
  2832. 2V  ALL  4  0  OK  2
  2833. 2V  ALL  9  0  OK  3
  2834. 2V  ALL  1p8  0  OK  1p4
  2835. 2V  ALL  1m8  0  OK  1m4
  2836. 2V  ALL  4p6  0  OK  2p3
  2837. 2V  ALL  4m6  0  OK  2m3
  2838. 2V  ALL  9p8  0  OK  3p4
  2839. 2V  ALL  9m8  0  OK  3m4
  2840. 2V  ALL  9p9p9  0  OK  3p9
  2841. 2V  ALL  9m9m9  0  OK  3m9
  2842. ! And the usual zero business.
  2843. 2V  ALL  +0  0  OK  +0
  2844. 2V  ALL  -0  0  OK  -0
  2845. ! And tests for infinity.
  2846. 2V  ALL  +H  0  OK  +H
  2847. 2V  ALL  -H  0  i  Q
  2848. ! Case: 2^EVEN * (1 + Nulp+) -->
  2849. ! 2^(EVEN/2) *
  2850. !  (1 + (1/2)Nulp+ -
  2851. !  (1/8)(Nulp+)^2 + tiny)
  2852. ! 1 + 1ulp --> 1 + 0.5ulp - tiny.
  2853. 2V  =0<  1i1  0  x  1
  2854. 2V  >  1i1  0  x  1i1
  2855. ! 1 + 2ulp --> 1 + 1ulp - tiny.
  2856. 2V  =>  1i2  0  x  1i1
  2857. 2V  0<  1i2  0  x  1
  2858. ! 1 + 3ulp --> 1 + 1.5ulp - tiny.
  2859. 2V  =0<  1i3  0  x  1i1
  2860. 2V  >  1i3  0  x  1i2
  2861. ! 1 + 4ulp --> 1 + 2ulp - tiny.
  2862. 2V  =>  1i4  0  x  1i2
  2863. 2V  0<  1i4  0  x  1i1
  2864. ! (1 + 5ulp) --> 1 + 2.5ulp - ...
  2865. 2V  =0<  1i5  0  x  1i2
  2866. 2V  >  1i5  0  x  1i3
  2867. ! (1 + 6ulp) --> 1 + 3ulp - ...
  2868. 2V  =>  1i6  0  x  1i3
  2869. 2V  0<  1i6  0  x  1i2
  2870. ! (1+7ulp) --> 1 + 3.5ulp - ... 
  2871. 2V  =0<  1i7  0  x  1i3
  2872. 2V  >  1i7  0  x  1i4
  2873. ! sqrt(1 - Nulp-) -->
  2874. ! 1 - (1/2)Nulp- -
  2875. !  (1/8)(Nulp-)^2 - tiny
  2876. ! 1 - 1ulp-  -->
  2877. ! 1 - 0.5ulp- - tiny.
  2878. 2V  =0<  1d1  0  x  1d1
  2879. 2V  >  1d1  0  x  1
  2880. ! 1 - 2ulp-  -->
  2881. ! 1 - 1ulp- - tiny.
  2882. 2V  =>  1d2  0  x  1d1
  2883. 2V  0<  1d2  0  x  1d2
  2884. ! 1 - 3ulp-  -->
  2885. ! 1 - 1.5ulp- - tiny.
  2886. 2V  =0<  1d3  0  x  1d2
  2887. 2V  >  1d3  0  x  1d1
  2888. ! 1 - 4ulp-  -->
  2889. ! 1 - 2ulp- - tiny.
  2890. 2V  =>  1d4  0  x  1d2
  2891. 2V  0<  1d4  0  x  1d3
  2892. ! 1 - 5ulp-  -->
  2893. ! 1 - 2.5ulp- - tiny.
  2894. 2V  =0<  1d5  0  x  1d3
  2895. 2V  >  1d5  0  x  1d2
  2896. ! 1 - 6ulp-  -->
  2897. ! 1 - 3ulp- - tiny.
  2898. 2V  =>  1d6  0  x  1d3
  2899. 2V  0<  1d6  0  x  1d4
  2900. ! 1 - 7ulp-  -->
  2901. ! 1 - 3.5ulp- - tiny.
  2902. 2V  =0<  1d7  0  x  1d4
  2903. 2V  >  1d7  0  x  1d3
  2904. ! 1 - 8ulp-  -->
  2905. ! 1 - 4ulp- - tiny.
  2906. 2V  =>  1d8  0  x  1d4
  2907. 2V  0<  1d8  0  x  1d5
  2908. ! 1 - 9ulp-  -->
  2909. ! 1 - 4.5ulp- - tiny.
  2910. 2V  =0<  1d9  0  x  1d5
  2911. 2V  >  1d9  0  x  1d4
  2912. ! Invalid negative cases.
  2913. 2V  ALL  -1  0  i  Q
  2914. 2V  ALL  -2i2  0  i  Q
  2915. 2V  ALL  -3i4  0  i  Q
  2916. 2V  ALL  -4d5  0  i  Q
  2917. 2V  ALL  -1u1  0  i  Q
  2918. 2V  ALL  -1u2  0  i  Q
  2919. 2V  ALL  -1u3  0  i  Q
  2920. 2V  ALL  -Hm1i2  0  i  Q
  2921. 2V  ALL  -Hm2i2  0  i  Q
  2922. 2V  ALL  -Hm1d1  0  i  Q
  2923. 2V  ALL  -Hm2d4  0  i  Q
  2924. 2V  ALL  -Ep1i1  0  i  Q
  2925. 2V  ALL  -Ep1d3  0  i  Q
  2926. 2V  ALL  -Ep1  0  i  Q
  2927. 2V  ALL  -Ep1  0  i  Q
  2928. 2V  ALL  -Ed4  0  i  Q
  2929. 2V  ALL  -Ed3  0  i  Q
  2930. 2V  ALL  -Ed2  0  i  Q
  2931. 2V  ALL  -Ed1  0  i  Q
  2932. 2V  ALL  -Ed4  0  i  Q
  2933. 2V  ALL  -Ed3  0  i  Q
  2934. 2V  ALL  -Ed7  0  i  Q
  2935. 2V  ALL  -Ed9  0  i  Q
  2936. 2V  ALL  -0i1  0  i  Q
  2937. 2V  ALL  -0i1  0  i  Q
  2938. 2V  ALL  -0i9  0  i  Q
  2939. 2V  ALL  -0i7  0  i  Q
  2940. 2V  ALL  -0i5  0  i  Q
  2941. 2V  ALL  -0i2  0  i  Q
  2942. ! NaN operand.
  2943. 2V  ALL  Q  0  OK  Q
  2944. 2V  ALL  S  0  i  Q
  2945. ! First some easy integer cases.
  2946. 2-  ALL  1  -1  OK  2
  2947. 2-  ALL  1  -2  OK  3
  2948. 2-  ALL  2  -1  OK  3
  2949. 2-  ALL  2  -2  OK  4
  2950. 2-  =0>  2  2  OK  0
  2951. 2-  <  2  2  OK  -0
  2952. 2-  =0>  5  5  OK  0
  2953. 2-  <  5  5  OK  -0
  2954. 2-  ALL  1  -7  OK  8
  2955. 2-  ALL  5  1  OK  4
  2956. 2-  ALL  2  5  OK  -3
  2957. 2-  ALL  5  0  OK  5
  2958. 2-  ALL  5  -0  OK  5
  2959. ! Infinity vs Infinity.
  2960. 2-  ALL  H  -H  OK  H  ok - affine sum
  2961. 2-  ALL  -H  H  OK  -H
  2962. 2-  ALL  -H  -H  i  Q  different signs
  2963. 2-  ALL  H  H  i  Q
  2964. ! Infinity vs huge.
  2965. 2-  ALL  H  -Hm1  OK  H
  2966. 2-  ALL  H  Hm1  OK  H
  2967. 2-  ALL  -H  -Hm1  OK  -H
  2968. 2-  ALL  -H  Hm1  OK  -H
  2969. 2-  ALL  Hm1  -H  OK  H
  2970. 2-  ALL  Hm1  H  OK  -H
  2971. 2-  ALL  -Hm1  -H  OK  H
  2972. 2-  ALL  -Hm1  H  OK  -H
  2973. ! Infinity vs 0.
  2974. 2-  ALL  H  -0  OK  H
  2975. 2-  ALL  H  0  OK  H
  2976. 2-  ALL  -H  -0  OK  -H
  2977. 2-  ALL  -H  0  OK  -H
  2978. 2-  ALL  0  -H  OK  H
  2979. 2-  ALL  -0  -H  OK  H
  2980. 2-  ALL  0  H  OK  -H
  2981. 2-  ALL  -0  H  OK  -H
  2982. ! Infinity vs denormalized.
  2983. 2-  ALL  H  -Ed1  OK  H
  2984. 2-  ALL  -H  -Ed1  OK  -H
  2985. 2-  ALL  H  Ed1  OK  H
  2986. 2-  ALL  -H  Ed1  OK  -H
  2987. 2-  ALL  0i3  -H  OK  H
  2988. 2-  ALL  0i3  H  OK  -H
  2989. 2-  ALL  -0i3  -H  OK  H
  2990. 2-  ALL  -0i3  H  OK  -H
  2991. ! Zero vs finite -- watch that sign of
  2992. ! 0 is meaningless.
  2993. 2-  ALL  0  -Hm1  OK  Hm1
  2994. 2-  ALL  -0  -Hm1  OK  Hm1
  2995. 2-  ALL  -Hm1  -0  OK  -Hm1
  2996. 2-  ALL  -Hm1  0  OK  -Hm1
  2997. 2-  ALL  1  0  OK  1
  2998. 2-  ALL  -1  0  OK  -1
  2999. 2-  ALL  0  -1  OK  1
  3000. 2-  ALL  -0  1  OK  -1
  3001. ! Zero vs denormalized -- underflows.
  3002. 2-  ALL  0  -Ed1  OK  Ed1
  3003. 2-  ALL  -0  -Ed1  OK  Ed1
  3004. 2-  ALL  0  Ed1  OK  -Ed1
  3005. 2-  ALL  -0  Ed1  OK  -Ed1
  3006. 2-  ALL  0i3  -0  OK  0i3
  3007. 2-  ALL  0i3  0  OK  0i3
  3008. 2-  ALL  -0i3  -0  OK  -0i3
  3009. 2-  ALL  -0i3  0  OK  -0i3
  3010. ! Zero vs tiny -- just in case.
  3011. 2-  ALL  -0  E  OK  -E
  3012. 2-  ALL  E  -0  OK  E
  3013. 2-  ALL  0  E  OK  -E
  3014. 2-  ALL  -E  -0  OK  -E
  3015. ! Zero vs Zero -- watch signs and
  3016. ! rounding modes.
  3017. 2-  =0>  0  0  OK  0
  3018. 2-  =0>  -0  -0  OK  0
  3019. 2-  <  0  0  OK  -0
  3020. 2-  <  -0  -0  OK  -0
  3021. 2-  ALL  0  -0  OK  0
  3022. 2-  ALL  -0  0  OK  -0
  3023. ! Double a number -- may overflow so
  3024. ! watch rounding mode.
  3025. 2-  =>  Hm1  -Hm1  xo  H
  3026. 2-  0<  Hm1  -Hm1  xo  Hd1
  3027. 2-  =<  -Hm1  Hm1  xo  -H
  3028. 2-  0>  -Hm1  Hm1  xo  -Hd1
  3029. 2-  ALL  Hm1d2  -Hm1d2  OK  Hd2
  3030. 2-  ALL  -Hm1d2  Hm1d2  OK  -Hd2
  3031. 2-  =>  Hd2  -Hd2  xo  H
  3032. 2-  0<  Hd2  -Hd2  xo  Hd1
  3033. 2-  =<  -Hd2  Hd2  xo  -H
  3034. 2-  0>  -Hd2  Hd2  xo  -Hd1
  3035. ! Double an innocent number.
  3036. 2-  ALL  1  -1  OK  2
  3037. 2-  ALL  3  -3  OK  6
  3038. 2-  ALL  E  -E  OK  Ep1
  3039. 2-  ALL  Hm2  -Hm2  OK  Hm1
  3040. ! Double a tiny number -- may underflow.
  3041. 2-  ALL  Ed1  -Ed1  OK  Ep1d2
  3042. 2-  ALL  -Ed1  Ed1  OK  -Ep1d2
  3043. 2-  ALL  0i4  -0i4  OK  0i8
  3044. 2-  ALL  -0i4  0i4  OK  -0i8
  3045. 2-  ALL  0i1  -0i1  OK  0i2
  3046. 2-  ALL  -0i1  0i1  OK  -0i2
  3047. ! Cancellation to 0 -- to plus 0.
  3048. 2-  =0>  Hm1  Hm1  OK  0
  3049. 2-  =0>  -Hm1d2  -Hm1d2  OK  0
  3050. 2-  =0>  1  1  OK  0
  3051. 2-  =0>  -3  -3  OK  0
  3052. 2-  =0>  E  E  OK  0
  3053. 2-  =0>  -E  -E  OK  0
  3054. 2-  =0>  Ed4  Ed4  OK  0
  3055. 2-  =0>  -Ed1  -Ed1  OK  0  no underflow
  3056. 2-  =0>  0i1  0i1  OK  0
  3057. 2-  =0>  -0i1  -0i1  OK  0
  3058. 2-  =0>  Hd1  Hd1 OK  0
  3059. ! Cancellation to 0 -- to minus 0.
  3060. 2-  <  Hm1  Hm1  OK  -0
  3061. 2-  <  -Hm1d2  -Hm1d2  OK  -0
  3062. 2-  <  1  1  OK  -0
  3063. 2-  <  -3  -3  OK  -0
  3064. 2-  <  E  E  OK  -0
  3065. 2-  <  -E  -E  OK  -0
  3066. 2-  <  Ed4  Ed4  OK  -0
  3067. 2-  <  -Ed1  -Ed1  OK  -0  no underflow
  3068. 2-  <  0i1  0i1  OK  -0
  3069. 2-  <  -0i1  -0i1  OK  -0
  3070. 2-  <  Hd1  Hd1 OK  -0
  3071. ! Cancel forcing normalization of LSB
  3072. ! (no rounding errors).  Difference is in
  3073. ! last place of larger number.
  3074. ! Medium numbers...
  3075. 2-  ALL  1i1  1  OK  1u1
  3076. 2-  ALL  -1i1  -1  OK  -1u1
  3077. 2-  ALL  1i1  1i2  OK  -1u1
  3078. 2-  ALL  -1i1  -1i2  OK  1u1
  3079. 2-  ALL  2  2i1  OK  -2u1
  3080. 2-  ALL  -2  -2i1  OK  2u1
  3081. 2-  ALL  2i4  2i3  OK  2u1
  3082. 2-  ALL  -2i4  -2i3  OK  -2u1
  3083. 2-  ALL  4d1  4d2  OK  3u1
  3084. 2-  ALL  -4d1  -4d2  OK  -3u1
  3085. 2-  ALL  2d4  2d3  OK  -1u1
  3086. 2-  ALL  -2d4  -2d3  OK  1u1
  3087. ! Huge numbers...
  3088. 2-  ALL  Hm1i1  Hm1  OK  Hm1u1
  3089. 2-  ALL  -Hm1i1  -Hm1  OK  -Hm1u1
  3090. 2-  ALL  Hm1i1  Hm1i2  OK  -Hm1u1
  3091. 2-  ALL  -Hm1i1  -Hm1i2  OK  Hm1u1
  3092. 2-  ALL  Hm2  Hm2i1  OK  -Hm2u1
  3093. 2-  ALL  -Hm2  -Hm2i1  OK  Hm2u1
  3094. 2-  ALL  Hm2i4  Hm2i3  OK  Hm2u1
  3095. 2-  ALL  -Hm2i4  -Hm2i3  OK  -Hm2u1
  3096. 2-  ALL  Hm2d1  Hm2d2  OK  Hm3u1
  3097. 2-  ALL  -Hm2d1  -Hm2d2  OK  -Hm3u1
  3098. 2-  ALL  -Hd2  -Hd1  OK  Hd1u1
  3099. 2-  ALL  Hd2  Hd1  OK  -Hd1u1
  3100. ! Tiny numbers...
  3101. 2-  ALL  -Ei1  -E  OK  -Eu1
  3102. 2-  ALL  Ei1  E  OK  Eu1
  3103. 2-  ALL  -Ed1  -E  OK  Eu1
  3104. 2-  ALL  Ed1  E  OK  -Eu1
  3105. 2-  ALL  Ei1  Ei2  OK  -Eu1
  3106. 2-  ALL  -Ei1  -Ei2  OK  Eu1
  3107. 2-  ALL  Ed1  Ed2  OK  Eu1
  3108. 2-  ALL  -Ed1  -Ed2  OK  -Eu1
  3109. 2-  ALL  Ed3  Ed2  OK  -Eu1
  3110. 2-  ALL  -Ed3  -Ed2  OK  Eu1
  3111. 2-  ALL  0i2  0i1  OK  Eu1
  3112. 2-  ALL  -0i2  -0i1  OK  -Eu1
  3113. 2-  ALL  0i3  0i2  OK  Eu1
  3114. 2-  ALL  -0i3  -0i2  OK  -Eu1
  3115. ! Normalize from round bit -- set up tests
  3116. ! so that operands have
  3117. ! exponents differing by 1 unit.
  3118. ! Medium numbers...
  3119. 2-  ALL  2  2d1  OK  1u1
  3120. 2-  ALL  -2  -2d1  OK  -1u1
  3121. 2-  ALL  -2d1  -2  OK  1u1
  3122. 2-  ALL  2d1  2  OK  -1u1
  3123. 2-  ALL  4i1  4d1  OK  3u3
  3124. 2-  ALL  -4i1  -4d1  OK  -3u3
  3125. 2-  ALL  4d1  4i2  OK  -3u5
  3126. 2-  ALL  -4d1  -4i2  OK  3u5
  3127. 2-  ALL  2i1  1i1  OK  1i1
  3128. 2-  ALL  -2i1  -1i1  OK  -1i1
  3129. 2-  ALL  2i2  1i1  OK  1i3
  3130. 2-  ALL  -2i2  -1i1  OK  -1i3
  3131. 2-  ALL  2i2  1i3  OK  1i1
  3132. 2-  ALL  -2i2  -1i3  OK  -1i1
  3133. ! Huge numbers...
  3134. 2-  ALL  Hm2  Hm2d1  OK  Hm3u1
  3135. 2-  ALL  -Hm2  -Hm2d1  OK  -Hm3u1
  3136. 2-  ALL  -Hm1d1  -Hm1  OK  Hm2u1
  3137. 2-  ALL  Hm1d1  Hm1  OK  -Hm2u1
  3138. 2-  ALL  Hm4i1  Hm4d1  OK  Hm5u3
  3139. 2-  ALL  -Hm4i1  -Hm4d1  OK  -Hm5u3
  3140. 2-  ALL  Hm2d1  Hm2i2  OK  -Hm3u5
  3141. 2-  ALL  -Hm2d1  -Hm2i2  OK  Hm3u5
  3142. 2-  ALL  Hm2i1  Hm1i1  OK  -Hm2i1
  3143. 2-  ALL  -Hm2i1  -Hm1i1  OK  Hm2i1
  3144. 2-  ALL  Hm1i2  Hm2i1  OK  Hm2i3
  3145. 2-  ALL  -Hm1i2  -Hm2i1  OK  -Hm2i3
  3146. 2-  ALL  Hm2i2  Hm3i3  OK  Hm3i1
  3147. 2-  ALL  -Hm2i2  -Hm3i3  OK  -Hm3i1
  3148. ! Tiny numbers...
  3149. 2-  ALL  Ep1  Ep1d1  OK  Eu1
  3150. 2-  ALL  -Ep1  -Ep1d1  OK  -Eu1
  3151. 2-  ALL  -Ep1d1  -Ep1  OK  Eu1
  3152. 2-  ALL  Ep1d1  Ep1  OK  -Eu1
  3153. 2-  ALL  Ep1i1  Ep1d1  OK  Eu3
  3154. 2-  ALL  -Ep1i1  -Ep1d1  OK  -Eu3
  3155. 2-  ALL  Ep2  Ep2d1  OK  Eu2
  3156. 2-  ALL  -Ep2  -Ep2d1  OK  -Eu2
  3157. 2-  ALL  -Ep2d1  -Ep2  OK  Eu2
  3158. 2-  ALL  Ep2d1  Ep2  OK  -Eu2
  3159. 2-  ALL  Ep2i1  Ep2d1  OK  Eu6
  3160. 2-  ALL  -Ep2i1  -Ep2d1  OK  -Eu6
  3161. 2-  ALL  Ep1d1  Ep1i2  OK  -Eu5
  3162. 2-  ALL  -Ep1d1  -Ep1i2  OK  Eu5
  3163. 2-  ALL  Ep1d1  Ep1i4  OK  -Eu9
  3164. 2-  ALL  -Ep1d1  -Ep1i4  OK  Eu9
  3165. 2-  ALL  Ep1i1  Ei1  OK  Ei1
  3166. 2-  ALL  -Ep1i1  -Ei1  OK  -Ei1
  3167. 2-  ALL  Ep1i2  Ei1  OK  Ei3
  3168. 2-  ALL  -Ep1i2  -Ei1  OK  -Ei3
  3169. 2-  ALL  Ep2i2  Ep1i3  OK  Ep1i1
  3170. 2-  ALL  -Ep2i2  -Ep1i3  OK  -Ep1i1
  3171. ! Add magnitude:
  3172. ! cases where one operand is off in sticky --
  3173. ! rounding perhaps to an overflow.
  3174. ! Huge vs medium.
  3175. 2-  =0<  Hm1  -1  x  Hm1
  3176. 2-  >  Hm1  -1  x  Hm1i1
  3177. 2-  =0>  -Hm1  1  x  -Hm1
  3178. 2-  <  -Hm1  1  x  -Hm1i1
  3179. 2-  =0<  Hm1d1  -1  x  Hm1d1
  3180. 2-  >  Hm1d1  -1  x  Hm1
  3181. 2-  =0>  -Hm1d1  1  x  -Hm1d1
  3182. 2-  <  -Hm1d1  1  x  -Hm1
  3183. 2-  =0<  Hd1  -1  x  Hd1
  3184. 2-  >  Hd1  -1  xo  H  signal overflow
  3185. 2-  =0>  -Hd1  1  x  -Hd1
  3186. 2-  <  -Hd1  1  xo  -H
  3187. 2-  =0<  Hd2  -1  x  Hd2
  3188. 2-  >  Hd2  -1  x  Hd1
  3189. 2-  =0>  -Hd2  1  x  -Hd2
  3190. 2-  <  -Hd2  1  x  -Hd1
  3191. ! Huge vs denormal.
  3192. 2-  =0<  0i1  -Hm1  x  Hm1
  3193. 2-  >  0i1  -Hm1  x  Hm1i1
  3194. 2-  =0>  -0i1  Hm1  x  -Hm1
  3195. 2-  <  -0i1  Hm1  x  -Hm1i1
  3196. 2-  =0<  0i1  -Hm1d1  x  Hm1d1
  3197. 2-  >  0i1  -Hm1d1  x  Hm1
  3198. 2-  =0>  -0i1  Hm1d1  x  -Hm1d1
  3199. 2-  <  -0i1  Hm1d1  x  -Hm1
  3200. 2-  =0<  0i1  -Hd1  x  Hd1
  3201. 2-  >  0i1  -Hd1  xo  H  signal overflow
  3202. 2-  =0>  -0i1  Hd1  x  -Hd1
  3203. 2-  <  -0i1  Hd1  xo  -H
  3204. 2-  =0<  0i1  -Hd2  x  Hd2
  3205. 2-  >  0i1  -Hd2  x  Hd1
  3206. 2-  =0>  -0i1  Hd2  x  -Hd2
  3207. 2-  <  -0i1  Hd2  x  -Hd1
  3208. ! Medium vs denormal.
  3209. 2-  =0<  0i1  -1  x  1
  3210. 2-  >  0i1  -1  x  1i1
  3211. 2-  =0>  -0i1  1  x  -1
  3212. 2-  <  -0i1  1  x  -1i1
  3213. 2-  =0<  0i1  -1d1  x  1d1
  3214. 2-  >  0i1  -1d1  x  1
  3215. 2-  =0>  -0i1  1d1  x  -1d1
  3216. 2-  <  -0i1  1d1  x  -1
  3217. 2-  =0<  0i1  -2d1  x  2d1
  3218. 2-  >  0i1  -2d1  x  2
  3219. 2-  =0>  -0i1  2d1  x  -2d1
  3220. 2-  <  -0i1  2d1  x  -2
  3221. 2-  =0<  0i1  -2d2  x  2d2
  3222. 2-  >  0i1  -2d2  x  2d1
  3223. 2-  =0>  -0i1  2d2  x  -2d2
  3224. 2-  <  -0i1  2d2  x  -2d1
  3225. !
  3226. ! Magnitude subtract when an operand
  3227. ! is in the sticky bit.  The interesting
  3228. ! cases will arise when directed rounding
  3229. ! forces a nonzero cancellation.
  3230. ! Huge and medium.
  3231. 2-  =>  Hm1  1  x  Hm1
  3232. 2-  0<  Hm1  1  x  Hm1d1
  3233. 2-  =<  -Hm1  -1  x  -Hm1
  3234. 2-  0>  -Hm1  -1  x  -Hm1d1
  3235. 2-  =>  Hm1d1  1  x  Hm1d1
  3236. 2-  0<  Hm1d1  1  x  Hm1d2
  3237. 2-  =<  -Hm1d1  -1  x  -Hm1d1
  3238. 2-  0>  -Hm1d1  -1  x  -Hm1d2
  3239. 2-  =>  Hd1  1  x  Hd1
  3240. 2-  0<  Hd1  1  x  Hd2
  3241. 2-  =<  -Hd1  -1  x  -Hd1
  3242. 2-  0>  -Hd1  -1  x  -Hd2
  3243. 2-  =>  Hd2  1  x  Hd2
  3244. 2-  0<  Hd2  1  x  Hd3
  3245. 2-  =<  -Hd2  -1  x  -Hd2
  3246. 2-  0>  -Hd2  -1  x  -Hd3
  3247. ! Huge and tiny.
  3248. 2-  =>  Hd1  0i1  x  Hd1
  3249. 2-  0<  Hd1  0i1  x  Hd2
  3250. 2-  =<  -Hd1  -0i1  x  -Hd1
  3251. 2-  0>  -Hd1  -0i1  x  -Hd2
  3252. 2-  =>  -0i3  -Hm1  x  Hm1
  3253. 2-  0<  -0i3  -Hm1  x  Hm1d1
  3254. 2-  =<  0i3  Hm1  x  -Hm1
  3255. 2-  0>  0i3  Hm1  x  -Hm1d1
  3256. ! Medium and tiny.
  3257. 2-  =>  1d1  0i1  x  1d1
  3258. 2-  0<  1d1  0i1  x  1d2
  3259. 2-  =<  -2d1  -0i1  x  -2d1
  3260. 2-  0>  -2d1  -0i1  x  -2d2
  3261. 2-  =>  -0i3  -3  x  3
  3262. 2-  0<  -0i3  -3  x  3d1
  3263. 2-  =<  0i3  5  x  -5
  3264. 2-  0>  0i3  5  x  -5d1
  3265. ! Add magnitude with difference in LSB so,
  3266. ! except for denorms, round bit is crucial.
  3267. ! Half-way cases arise.
  3268. ! Medium cases.
  3269. 2-  =0<  1i1  -1  x  2
  3270. 2-  >  1i1  -1  x  2i1
  3271. 2-  =0>  -1i1  1  x  -2
  3272. 2-  <  -1i1  1  x  -2i1
  3273. 2-  =0>  -2  2i1  x  -4
  3274. 2-  <  -2  2i1  x  -4i1
  3275. 2-  =0<  2  -2i1  x  4
  3276. 2-  >  2  -2i1  x  4i1
  3277. 2-  =>  1  -1i3  x  2i2
  3278. 2-  0<  1  -1i3  x  2i1
  3279. 2-  =<  -1  1i3  x  -2i2
  3280. 2-  0>  -1  1i3  x  -2i1
  3281. 2-  =<  -2i1  2i2  x  -4i2
  3282. 2-  0>  -2i1  2i2  x  -4i1
  3283. 2-  =>  2i1  -2i2  x  4i2
  3284. 2-  0<  2i1  -2i2  x  4i1
  3285. ! Huge cases.
  3286. 2-  =>  Hd2  -Hd1  xo  H
  3287. 2-  0<  Hd2  -Hd1  xo  Hd1
  3288. 2-  =<  -Hd2  Hd1  xo  -H
  3289. 2-  0>  -Hd2  Hd1  xo  -Hd1
  3290. 2-  =>  Hm1d1  -Hm1  xo  H
  3291. 2-  0<  Hm1d1  -Hm1  x  Hd1
  3292. 2-  =<  -Hm1d1  Hm1  xo  -H
  3293. 2-  0>  -Hm1d1  Hm1  x  -Hd1
  3294. 2-  =>  Hm1i1  -Hm1  xo  H
  3295. 2-  0<  Hm1i1  -Hm1  xo  Hd1
  3296. 2-  =<  -Hm1i1  Hm1  xo  -H
  3297. 2-  0>  -Hm1i1  Hm1  xo  -Hd1
  3298. 2-  =0<  Hm2i1  -Hm2  x  Hm1
  3299. 2-  >  Hm2i1  -Hm2  x  Hm1i1
  3300. 2-  =0>  -Hm2i1  Hm2  x  -Hm1
  3301. 2-  <  -Hm2i1  Hm2  x  -Hm1i1
  3302. 2-  =0<  Hm1d2  -Hm1d1  x  Hd2
  3303. 2-  >  Hm1d2  -Hm1d1  x  Hd1
  3304. 2-  =0>  -Hm1d2  Hm1d1  x  -Hd2
  3305. 2-  <  -Hm1d2  Hm1d1  x  -Hd1
  3306. ! Check rounding.
  3307. 2-  >  2  -1u1  x  2i1
  3308. 2-  =0<  2  -1u1  x  2
  3309. 2-  =>  2i1  -1u1  x  2i2
  3310. 2-  0<  2i1  -1u1  x  2i1
  3311. 2-  =>  4d1  -1u1  x  4
  3312. 2-  0<  4d1  -1u1  x  4d1
  3313. 2-  >  4d1  -1u1d1 x  4
  3314. 2-  0=<  4d1  -1u1d1 x  4d1
  3315. 2-  =<  -4d1  1u1  x  -4
  3316. 2-  0>  -4d1  1u1  x  -4d1
  3317. 2-  <  -4d1  1u1d1 x  -4
  3318. 2-  0=>  -4d1  1u1d1 x  -4d1
  3319. ! NaN operands.
  3320. 2-  ALL  Q  0  OK  Q
  3321. 2-  ALL  Q  -0  OK  Q
  3322. 2-  ALL  0  Q  OK  Q
  3323. 2-  ALL  -0  Q  OK  Q
  3324. 2-  ALL  Q  1  OK  Q
  3325. 2-  ALL  Q  -1  OK  Q
  3326. 2-  ALL  1  Q  OK  Q
  3327. 2-  ALL  -1  Q  OK  Q
  3328. 2-  ALL  Ed1  Q  OK  Q
  3329. 2-  ALL  -Ed1 Q  OK  Q
  3330. 2-  ALL  Q  Ed1  OK  Q
  3331. 2-  ALL  Q  -Ed1 OK  Q
  3332. 2-  ALL  Q  0i1  OK  Q
  3333. 2-  ALL  Q  -0i1  OK  Q
  3334. 2-  ALL  0i1  Q  OK  Q
  3335. 2-  ALL  -0i1  Q  OK  Q
  3336. 2-  ALL  Q  Hd1  OK  Q
  3337. 2-  ALL  Q  -Hd1 OK  Q
  3338. 2-  ALL  Hd1  Q  OK  Q
  3339. 2-  ALL  -Hd1 Q  OK  Q
  3340. 2-  ALL  Q  H  OK  Q
  3341. 2-  ALL  Q  -H  OK  Q
  3342. 2-  ALL  H  Q  OK  Q
  3343. 2-  ALL  -H  Q  OK  Q
  3344. 2-  ALL  Q  Q  OK  Q
  3345. 2-  ALL  S  0  i  Q
  3346. 2-  ALL  S  -0  i  Q
  3347. 2-  ALL  0  S  i  Q
  3348. 2-  ALL  -0  S  i  Q
  3349. 2-  ALL  S  1  i  Q
  3350. 2-  ALL  S  -1  i  Q
  3351. 2-  ALL  1  S  i  Q
  3352. 2-  ALL  -1  S  i  Q
  3353. 2-  ALL  Ed1  S  i  Q
  3354. 2-  ALL  -Ed1 S  i  Q
  3355. 2-  ALL  S  Ed1  i  Q
  3356. 2-  ALL  S  -Ed1 i  Q
  3357. 2-  ALL  S  0i1  i  Q
  3358. 2-  ALL  S  -0i1  i  Q
  3359. 2-  ALL  0i1  S  i  Q
  3360. 2-  ALL  -0i1  S  i  Q
  3361. 2-  ALL  S  Hd1  i  Q
  3362. 2-  ALL  S  -Hd1 i  Q
  3363. 2-  ALL  Hd1  S  i  Q
  3364. 2-  ALL  -Hd1 S  i  Q
  3365. 2-  ALL  S  H  i  Q
  3366. 2-  ALL  S  -H  i  Q
  3367. 2-  ALL  H  S  i  Q
  3368. 2-  ALL  -H  S  i  Q
  3369. 2-  ALL  Q  S  i  Q
  3370. 2-  ALL  S  Q  i  Q
  3371. 2-  ALL  S  S  i  Q
  3372. ! Middle-range numbers.
  3373. 2%  ALL  1  2  OK  1
  3374. 2%  ALL  1  -2  OK  1
  3375. 2%  ALL  -1  2  OK  -1
  3376. 2%  ALL  -1  -2  OK  -1
  3377. 2%  ALL  3  2  OK  -1
  3378. 2%  ALL  3  -2  OK  -1
  3379. 2%  ALL  -3  2  OK  1
  3380. 2%  ALL  -3  -2  OK  1
  3381. 2%  ALL  2  2  OK  0
  3382. 2%  ALL  2  -2  OK  0
  3383. 2%  ALL  -2  2  OK  -0
  3384. 2%  ALL  -2  -2  OK  -0
  3385. 2%  ALL  1i1  2  OK  -1d2
  3386. 2%  ALL  3d1  2  OK  1d4
  3387. 2%  ALL  1  4  OK  1
  3388. 2%  ALL  2  4  OK  2
  3389. 2%  ALL  3  4  OK  -1
  3390. 2%  ALL  4  4  OK  0
  3391. 2%  ALL  5  4  OK  1
  3392. 2%  ALL  6  4  OK  -2
  3393. 2%  ALL  7  4  OK  -1
  3394. 2%  ALL  8  4  OK  0
  3395. 2%  ALL  0  1m1  OK  0
  3396. 2%  ALL  1m3  1m1  OK  1m3
  3397. 2%  ALL  3m3  1m1  OK  -1m3
  3398. 2%  ALL  5m3  1m1  OK  1m3
  3399. ! Step across jump.
  3400. 2%  ALL  2i1  4  OK  -2d2
  3401. 2%  ALL  2i1  -4  OK  -2d2
  3402. 2%  ALL  -2i1  4  OK  2d2
  3403. 2%  ALL  -2i1  -4  OK  2d2
  3404. 2%  ALL  2i8  4  OK  -2d8d8
  3405. 2%  ALL  6d1  4  OK  2d4
  3406. 2%  ALL  6d1  -4  OK  2d4
  3407. 2%  ALL  -6d1  4  OK  -2d4
  3408. 2%  ALL  -6d1  -4  OK  -2d4
  3409. 2%  ALL  6d8  4  OK  2d8d8d8d8
  3410. 2%  ALL  1m2  1m1  OK  1m2
  3411. 2%  ALL  1i1m2 1m1 OK  -1d2m2
  3412. ! (1+x)/(1+y), x,y<<1.
  3413. 2%  ALL  1i1  1i5  OK  -1u4
  3414. 2%  ALL  1i1  -1i5  OK  -1u4
  3415. 2%  ALL  -1i1  1i5  OK  1u4
  3416. 2%  ALL  -1i1  -1i5  OK  1u4
  3417. 2%  ALL  1i2  1i5  OK  -1u3
  3418. 2%  ALL  1i3  1i5  OK  -1u2
  3419. 2%  ALL  1i4  1i5  OK  -1u1
  3420. 2%  ALL  1i6  1i5  OK  1u1
  3421. 2%  ALL  3d1  3  OK  -3u1
  3422. 2%  ALL  3d1  -3  OK  -3u1
  3423. 2%  ALL  -3d1  3  OK  3u1
  3424. 2%  ALL  -3d1  -3  OK  3u1
  3425. 2%  ALL  2d1  2  OK  -1u1
  3426. 2%  ALL  1i1  1d2  OK  1u2
  3427. 2%  ALL  1  1d2  OK  1u1
  3428. 2%  ALL  1d4  1d2  OK  -1u1
  3429. 2%  ALL  1d1  2d1  OK  1d1
  3430. 2%  ALL  1  2d1  OK  -1d2
  3431. ! Large numbers.
  3432. 2%  ALL  Hm1i1  Hm1d2  OK  Hm1u2
  3433. 2%  ALL  Hm1  Hm1d2  OK  Hm1u1
  3434. 2%  ALL  Hm1d4  Hm1d2  OK  -Hm1u1
  3435. 2%  ALL  Hm1d1  Hd1  OK  Hm1d1
  3436. 2%  ALL  Hm1  Hd1  OK  -Hm1d2
  3437. 2%  ALL  Hm2  Hm1  OK  Hm2
  3438. 2%  ALL  Hd1  Hd2  OK  Hd1u1
  3439. 2%  ALL  Hd1  -Hd2 OK  Hd1u1
  3440. 2%  ALL  -Hd1 Hd2  OK  -Hd1u1
  3441. 2%  ALL  -Hd1 -Hd2 OK  -Hd1u1
  3442. 2%  ALL  Hm1u1  Hm1u4  OK  Hm1u1
  3443. 2%  ALL  Hd1  Hm1  OK  -Hm1u1
  3444. 2%  ALL  Hm1i3  Hm1i5  OK  -Hm1u2
  3445. 2%  ALL  Hm1i4  Hm1i5  OK  -Hm1u1
  3446. 2%  ALL  Hm1i6  Hm1i5  OK  Hm1u1
  3447. ! Large and small numbers.
  3448. 2%  ALL  Hd1  0i1  OK  0
  3449. 2%  ALL  Hd1  -0i1  OK  0
  3450. 2%  ALL  -Hd1 0i1  OK  -0
  3451. 2%  ALL  -Hd1 -0i1  OK  -0
  3452. 2%  ALL  Hd1  Eu1  OK  0
  3453. 2%  ALL  Hd1  Ep1d1  OK  0
  3454. 2%  ALL  Hd1  E  OK  0
  3455. 2%  ALL  Hm1d1  Hm1  OK  -Hm2u1
  3456. 2%  ALL  Hm1d1  -Hm1  OK  -Hm2u1
  3457. 2%  ALL  -Hm1d1 Hm1  OK  Hm2u1
  3458. 2%  ALL  -Hm1d1 -Hm1  OK  Hm2u1
  3459. ! Small numbers.
  3460. 2%  ALL  0i1  0i4  OK  0i1
  3461. 2%  ALL  0i1  -0i4  OK  0i1
  3462. 2%  ALL  -0i1  0i4  OK  -0i1
  3463. 2%  ALL  -0i1  -0i4  OK  -0i1
  3464. 2%  ALL  0i2  0i4  OK  0i2
  3465. 2%  ALL  0i3  0i4  OK  -0i1
  3466. 2%  ALL  0i3  -0i4  OK  -0i1
  3467. 2%  ALL  -0i3  0i4  OK  0i1
  3468. 2%  ALL  -0i3  -0i4  OK  0i1
  3469. 2%  ALL  0i4  0i4  OK  0
  3470. 2%  ALL  0i4  -0i4  OK  0
  3471. 2%  ALL  -0i4  -0i4  OK  -0
  3472. 2%  ALL  -0i4  0i4  OK  -0
  3473. 2%  ALL  Ep9d1  Ep8  OK  -Ep8u1
  3474. 2%  ALL  Ei1  Ed2  OK  Eu3
  3475. 2%  ALL  E  Ed2  OK  Eu2
  3476. 2%  ALL  Ed4  Ed2  OK  -Eu2
  3477. 2%  ALL  Ed4  -Ed2  OK  -Eu2
  3478. 2%  ALL  -Ed4  Ed2  OK  Eu2
  3479. 2%  ALL  -Ed4  -Ed2  OK  Eu2
  3480. 2%  ALL  Ed1  Ep1d1  OK  Ed1
  3481. 2%  ALL  E  Ep1d1  OK  -Ed1
  3482. 2%  ALL  Ei3  Ei5  OK  -Eu2
  3483. 2%  ALL  Ei4  Ei5  OK  -Eu1
  3484. 2%  ALL  Ei6  Ei5  OK  Eu1
  3485. 2%  ALL  Ep1d1  Ep1  OK  -Eu1
  3486. ! Special case: invalid operations
  3487. ! delivering NaNs.
  3488. 2%  ALL  0  0  i  Q
  3489. 2%  ALL  0  -0  i  Q
  3490. 2%  ALL  -0  0  i  Q
  3491. 2%  ALL  -0  -0  i  Q
  3492. 2%  ALL  1  0  i  Q
  3493. 2%  ALL  1d1  0  i  Q
  3494. 2%  ALL  Hd1  0  i  Q
  3495. 2%  ALL  Hd1  -0  i  Q
  3496. 2%  ALL  -Hd1  0  i  Q
  3497. 2%  ALL  -Hd1  -0  i  Q
  3498. 2%  ALL  Ed1  0  i  Q
  3499. 2%  ALL  Ed1  -0  i  Q
  3500. 2%  ALL  -Ed1  0  i  Q
  3501. 2%  ALL  -Ed1  -0  i  Q
  3502. 2%  ALL  0i1  0  i  Q
  3503. 2%  ALL  H  0  i  Q
  3504. 2%  ALL  H  -0  i  Q
  3505. 2%  ALL  -H  0  i  Q
  3506. 2%  ALL  -H  -0  i  Q
  3507. 2%  ALL  H  1  i  Q
  3508. 2%  ALL  H  Hd1  i  Q
  3509. 2%  ALL  H  -Hd1  i  Q
  3510. 2%  ALL  -H  Hd1  i  Q
  3511. 2%  ALL  -H  -Hd1  i  Q
  3512. 2%  ALL  H  Ed1  i  Q
  3513. 2%  ALL  H  0i1  i  Q
  3514. 2%  ALL  H  H  i  Q
  3515. ! 0 rem y = 0,  y a number <> 0.
  3516. 2%  ALL  0  1  OK  0
  3517. 2%  ALL  0  -1  OK  0
  3518. 2%  ALL  -0  1  OK  -0
  3519. 2%  ALL  -0  -1  OK  -0
  3520. 2%  ALL  0  1d1  OK  0
  3521. 2%  ALL  0  Hd1  OK  0
  3522. 2%  ALL  0  Ed1  OK  0
  3523. 2%  ALL  0  0i1  OK  0
  3524. 2%  ALL  0  -0i1  OK  0
  3525. 2%  ALL  -0  0i1  OK  -0
  3526. 2%  ALL  -0  -0i1  OK  -0
  3527. 2%  ALL  0  H  OK  0
  3528. 2%  ALL  0  -H  OK  0
  3529. ! x rem INF = x,  x a number <> 0.
  3530. 2%  ALL  1  H  OK  1
  3531. 2%  ALL  1  -H  OK  1
  3532. 2%  ALL  -1  H  OK  -1
  3533. 2%  ALL  -1  -H  OK  -1
  3534. 2%  ALL  1d1  H  OK  1d1
  3535. 2%  ALL  Hd1  H  OK  Hd1
  3536. 2%  ALL  Hd1  -H  OK  Hd1
  3537. 2%  ALL  -Hd1  H  OK  -Hd1
  3538. 2%  ALL  -Hd1  -H  OK  -Hd1
  3539. 2%  ALL  Ed1  H  OK  Ed1
  3540. 2%  ALL  0i1  H  OK  0i1
  3541. 2%  ALL  0i1  -H  OK  0i1
  3542. 2%  ALL  -0i1  H  OK  -0i1
  3543. 2%  ALL  -0i1  -H  OK  -0i1
  3544. ! Vectors based on
  3545. ! (x + 1) | (x^n + 1) for n odd -
  3546. ! for significands with even
  3547. ! numbers of bits.
  3548. 2%  s  Hm1i1  Hm1u3  OK  0
  3549. 2%  s  Hm1i2  Hm1u3  OK  Hm1u1
  3550. 2%  s  Hm1i3  Hm1u3  OK  -Hm1u1
  3551. 2%  s  Hm1i1  3  OK  0
  3552. 2%  s  Hm1i1  0i3  OK  0
  3553. 2%  s  Hm1  Hm1u3  OK  -Hm1u1
  3554. 2%  s  Hm1d2  Hm1u3  OK  Hm1u1
  3555. 2%  s  Ei1  Eu3  OK  0
  3556. 2%  s  E  Eu3  OK  -0i1
  3557. 2%  s  Ed1  Eu3  OK  0i1
  3558. 2%  s  Ei1  0i3  OK  0
  3559. 2%  s  Ei2  Eu3  OK  Eu1
  3560. 2%  s  Ei3  Eu3  OK  -Eu1
  3561. 2%  s  Hm1i1  -Hm1u3  OK  0
  3562. 2%  s  Hm1i2  -Hm1u3  OK  Hm1u1
  3563. 2%  s  Hm1i3  -Hm1u3  OK  -Hm1u1
  3564. 2%  s  Hm1i1  -3  OK  0
  3565. 2%  s  Hm1i1  -0i3  OK  0
  3566. 2%  s  Hm1  -Hm1u3  OK  -Hm1u1
  3567. 2%  s  Hm1d2  -Hm1u3  OK  Hm1u1
  3568. 2%  s  Ei1  -0i3  OK  0
  3569. 2%  s  E  -Eu3  OK  -Eu1
  3570. 2%  s  Ed1  -Eu3  OK  Eu1
  3571. 2%  s  Ei1  -Eu3 OK  0
  3572. 2%  s  Ei2  -Eu3  OK  Eu1
  3573. 2%  s  Ei3  -Eu3  OK  -Eu1
  3574. 2%  s  -Hm1i1  Hm1u3  OK  -0
  3575. 2%  s  -Hm1i2  Hm1u3  OK  -Hm1u1
  3576. 2%  s  -Hm1i3  Hm1u3  OK  Hm1u1
  3577. 2%  s  -Hm1i1  3  OK  -0
  3578. 2%  s  -Hm1i1  0i3  OK  -0
  3579. 2%  s  -Hm1  Hm1u3  OK  Hm1u1
  3580. 2%  s  -Hm1d2  Hm1u3  OK  -Hm1u1
  3581. 2%  s  -Ei1  0i3  OK  -0
  3582. 2%  s  -E  Eu3  OK  Eu1
  3583. 2%  s  -Ed1  Eu3  OK  -Eu1
  3584. 2%  s  -Ei1  Eu3  OK  -0
  3585. 2%  s  -Ei2  Eu3  OK  -Eu1
  3586. 2%  s  -Ei3  Eu3  OK  Eu1
  3587. 2%  s  -Hm1i1  -Hm1u3  OK  -0
  3588. 2%  s  -Hm1i2  -Hm1u3  OK  -Hm1u1
  3589. 2%  s  -Hm1i3  -Hm1u3  OK  Hm1u1
  3590. 2%  s  -Hm1i1  -3  OK  -0
  3591. 2%  s  -Hm1i1  -0i3  OK  -0
  3592. 2%  s  -Hm1  -Hm1u3  OK  Hm1u1
  3593. 2%  s  -Hm1d2  -Hm1u3  OK  -Hm1u1
  3594. 2%  s  -Ei1  -0i3  OK  -0
  3595. 2%  s  -E  -Eu3  OK  Eu1
  3596. 2%  s  -Ed1  -Eu3  OK  -Eu1
  3597. 2%  s  -Ei1  -Eu3 OK  -0
  3598. 2%  s  -Ei2  -Eu3  OK  -Eu1
  3599. 2%  s  -Ei3  -Eu3  OK  Eu1
  3600. ! Vectors based on
  3601. ! (x + 1) | (x^n + 1) for n odd;
  3602. ! for significands with
  3603. ! odd numbers of bits.
  3604. 2%  d  Hm1d2  Hm1u3  OK  0
  3605. 2%  d  Hm1i3  Hm1u3  OK  Hm1u1
  3606. 2%  d  Hm1i4  Hm1u3  OK  -Hm1u1
  3607. 2%  d  Hm1i2  3  OK  0
  3608. 2%  d  Hm1i2  0i3  OK  0
  3609. 2%  d  Hm1d4  Hm1u3  OK  -Hm1u1
  3610. 2%  d  Hm1  Hm1u3  OK  Hm1u1
  3611. 2%  d  Ed1  Eu3  OK  0
  3612. 2%  d  Ei1  Eu3  OK  -0i1
  3613. 2%  d  E  Eu3  OK  0i1
  3614. 2%  d  Ei2  0i3  OK  0
  3615. 2%  d  Ei3  Eu3  OK  Eu1
  3616. 2%  d  Ei4  Eu3  OK  -Eu1
  3617. 2%  d  Hm1d2  -Hm1u3  OK  0
  3618. 2%  d  Hm1i3  -Hm1u3  OK  Hm1u1
  3619. 2%  d  Hm1i4  -Hm1u3  OK  -Hm1u1
  3620. 2%  d  Hm1i2  -3  OK  0
  3621. 2%  d  Hm1i2  -0i3  OK  0
  3622. 2%  d  Hm1d4  -Hm1u3  OK  -Hm1u1
  3623. 2%  d  Hm1  -Hm1u3  OK  Hm1u1
  3624. 2%  d  Ed1  -0i3  OK  0
  3625. 2%  d  Ei1  -Eu3  OK  -Eu1
  3626. 2%  d  E  -Eu3  OK  Eu1
  3627. 2%  d  Ei2  -Eu3 OK  0
  3628. 2%  d  Ei3  -Eu3  OK  Eu1
  3629. 2%  d  Ei4  -Eu3  OK  -Eu1
  3630. 2%  d  -Hm1d2  Hm1u3  OK  -0
  3631. 2%  d  -Hm1i3  Hm1u3  OK  -Hm1u1
  3632. 2%  d  -Hm1i4  Hm1u3  OK  Hm1u1
  3633. 2%  d  -Hm1i2  3  OK  -0
  3634. 2%  d  -Hm1i2  0i3  OK  -0
  3635. 2%  d  -Hm1d4  Hm1u3  OK  Hm1u1
  3636. 2%  d  -Hm1  Hm1u3  OK  -Hm1u1
  3637. 2%  d  -Ed1  0i3  OK  -0
  3638. 2%  d  -Ei1  Eu3  OK  Eu1
  3639. 2%  d  -E  Eu3  OK  -Eu1
  3640. 2%  d  -Ei2  Eu3  OK  -0
  3641. 2%  d  -Ei3  Eu3  OK  -Eu1
  3642. 2%  d  -Ei4  Eu3  OK  Eu1
  3643. 2%  d  -Hm1d2  -Hm1u3  OK  -0
  3644. 2%  d  -Hm1i3  -Hm1u3  OK  -Hm1u1
  3645. 2%  d  -Hm1i4  -Hm1u3  OK  Hm1u1
  3646. 2%  d  -Hm1i2  -3  OK  -0
  3647. 2%  d  -Hm1i2  -0i3  OK  -0
  3648. 2%  d  -Hm1d4  -Hm1u3  OK  Hm1u1
  3649. 2%  d  -Hm1  -Hm1u3  OK  -Hm1u1
  3650. 2%  d  -Ei2  -0i3  OK  -0
  3651. 2%  d  -Ei1  -Eu3  OK  Eu1
  3652. 2%  d  -E  -Eu3  OK  -Eu1
  3653. 2%  d  -Ei2  -Eu3 OK  -0
  3654. 2%  d  -Ei3  -Eu3  OK  -Eu1
  3655. 2%  d  -Ei4  -Eu3  OK  Eu1
  3656. ! NaN operands.
  3657. 2%  ALL  Q  0  OK  Q
  3658. 2%  ALL  Q  -0  OK  Q
  3659. 2%  ALL  0  Q  OK  Q
  3660. 2%  ALL  -0  Q  OK  Q
  3661. 2%  ALL  Q  1  OK  Q
  3662. 2%  ALL  Q  -1  OK  Q
  3663. 2%  ALL  1  Q  OK  Q
  3664. 2%  ALL  -1  Q  OK  Q
  3665. 2%  ALL  Ed1  Q  OK  Q
  3666. 2%  ALL  -Ed1 Q  OK  Q
  3667. 2%  ALL  Q  Ed1  OK  Q
  3668. 2%  ALL  Q  -Ed1 OK  Q
  3669. 2%  ALL  Q  0i1  OK  Q
  3670. 2%  ALL  Q  -0i1  OK  Q
  3671. 2%  ALL  0i1  Q  OK  Q
  3672. 2%  ALL  -0i1  Q  OK  Q
  3673. 2%  ALL  Q  Hd1  OK  Q
  3674. 2%  ALL  Q  -Hd1 OK  Q
  3675. 2%  ALL  Hd1  Q  OK  Q
  3676. 2%  ALL  -Hd1 Q  OK  Q
  3677. 2%  ALL  Q  H  OK  Q
  3678. 2%  ALL  Q  -H  OK  Q
  3679. 2%  ALL  H  Q  OK  Q
  3680. 2%  ALL  -H  Q  OK  Q
  3681. 2%  ALL  Q  Q  OK  Q
  3682. 2%  ALL  S  0  i  Q
  3683. 2%  ALL  S  -0  i  Q
  3684. 2%  ALL  0  S  i  Q
  3685. 2%  ALL  -0  S  i  Q
  3686. 2%  ALL  S  1  i  Q
  3687. 2%  ALL  S  -1  i  Q
  3688. 2%  ALL  1  S  i  Q
  3689. 2%  ALL  -1  S  i  Q
  3690. 2%  ALL  Ed1  S  i  Q
  3691. 2%  ALL  -Ed1 S  i  Q
  3692. 2%  ALL  S  Ed1  i  Q
  3693. 2%  ALL  S  -Ed1 i  Q
  3694. 2%  ALL  S  0i1  i  Q
  3695. 2%  ALL  S  -0i1  i  Q
  3696. 2%  ALL  0i1  S  i  Q
  3697. 2%  ALL  -0i1  S  i  Q
  3698. 2%  ALL  S  Hd1  i  Q
  3699. 2%  ALL  S  -Hd1 i  Q
  3700. 2%  ALL  Hd1  S  i  Q
  3701. 2%  ALL  -Hd1 S  i  Q
  3702. 2%  ALL  S  H  i  Q
  3703. 2%  ALL  S  -H  i  Q
  3704. 2%  ALL  H  S  i  Q
  3705. 2%  ALL  -H  S  i  Q
  3706. 2%  ALL  Q  S  i  Q
  3707. 2%  ALL  S  Q  i  Q
  3708. 2%  ALL  S  S  i  Q
  3709.